VB.net编译的DLL文件的引用

lcdida 2006-01-11 08:38:33
在编写程序中,用到自己编写的一个DLL文件(使用VB.Net编写)。程序文件一定和这个dll文件放在同一个文件夹下面才能正常运行吗?
如果在制作安装包时,设定将DLL文件放在系统目录下面,即没有和exe文件放在一起,那么程序就没有办法正常运行吗?
...全文
254 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pupo 2006-01-13
  • 打赏
  • 举报
回复
或者用app.config 来配置程序集

有两种方法用来指定程序集的位置:

使用 <codeBase> 元素。
使用 <probing> 元素。
还可以使用 .NET Framework 配置工具 (Mscorcfg.msc) 来指定程序集位置或者为公共语言运行库指定要探测程序集的位置。

使用 <codeBase> 元素
只有在计算机配置文件或也重定向程序集版本的发行者策略文件中,才可以使用 <codeBase> 元素。在运行库确定要使用哪一程序集版本时,它应用确定版本的文件中的基本代码设置。如果未指出基本代码,那么运行库就以通常的方法探测程序集。有关详细信息,请参见运行库如何定位程序集。

下面的示例说明如何指定程序集的位置。

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<codeBase version="2.0.0.0"
href="http://www.litwareinc.com/myAssembly.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
对于所有具有强名称的程序集,要求 version 属性,但对于不具有强名称的程序集应省略。<codeBase> 元素要求 href 属性。在 <codeBase> 元素中不能指定版本范围。

注意 如果为不具有强名称的程序集提供基本代码提示,那么该提示必须指向应用程序基或该应用程序基目录的子目录。
使用 <probing> 元素
运行库通过探测的方法来查找没有基本代码的程序集。有关探测的更多信息,请参见运行库如何定位程序集。

可以在应用程序配置文件中使用 <probing> 元素,来指定在查找程序集时运行库应搜索的子目录。下面的示例说明如何指定运行库应搜索的目录。

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
</configuration>
privatePath 属性包含运行库应在其中搜索程序集的目录。如果应用程序位于 C:\Program Files\MyApp,那么运行库将在 C:\Program Files\MyApp\Bin、C:\Program Files\MyApp\Bin2\Subbin 和 C:\Program Files\MyApp\Bin3 中查找未指定基本代码的程序集。privatePath 中指定的目录必须是应用程序基目录的子目录。
pupo 2006-01-13
  • 打赏
  • 举报
回复
也可以把dll注册成全局缓存程序集
zhangjianying 2006-01-13
  • 打赏
  • 举报
回复
一般把dll放
在程序exe文件同一级目录
或者也可以
放在Bin目录下面
还可以放在dll同名文件夹下面

回答完了 接分
lcdida 2006-01-13
  • 打赏
  • 举报
回复
已经打进去了,但是如果安装后,存放的位置不在一起,也不行
kjq_vb 2006-01-11
  • 打赏
  • 举报
回复
打包时你把Dll打进去就可以了
kjq_vb 2006-01-11
  • 打赏
  • 举报
回复
不需要同放在同一文件夹中,用的时候,添加引用进来就可以了

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧