我有一个包含3个项目的解决方案.其中2个项目引用了log4net和其他几个DLL.
当我创建安装包并为每个项目添加项目输出时 - 它将DLL放入主"应用程序文件夹"中.如果我将这些DLL拖到我在安装项目中创建的单独文件夹中,应用程序将无法运行"无法找到log4net".我希望这些DLL引用真的像"bin"或任何名称,只是不是主文件夹,他们添加混乱 - 我只是想在我的主文件夹中的2.exe.
我尝试在每个项目中添加一个引用路径指向"bin"文件夹.然后在安装项目中,我添加了一个名为"bin"的输出文件夹,并将DLL移动到该文件夹中,仍然无效.
我错过了什么!我花了几个小时环顾四周试图弄清楚我做错了什么,也许这就是我出生的方式!谢谢你的帮助!
cas*_*One 10
您可以使用app.config文件中的<probing>元素指定要搜索的Fusion(程序集加载程序)的专用路径.
这允许您指定作为应用程序目录的子路径的路径,Fusion在尝试查找要绑定的程序集时应搜索该路径.一个例子(取自文档页面)是:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这意味着当尝试绑定到程序集时,Fusion将在bin,bin2\subbin(但不是bin2,IIRC)和bin3子目录中搜索程序集.
| 归档时间: |
|
| 查看次数: |
2893 次 |
| 最近记录: |