我打算在我的.NET 3.5 Windows应用程序的bin文件夹以外的文件夹中保留几个dll。我不确定如何使用codebase元素或探测元素来指定正确的路径。这就是我现在在app.config文件中的内容,
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="CommonLib" publicKeyToken="f0b5026b59d5645e"
culture="neutral" />
<codeBase version="1.0.0.0" href="SharedFolder\CommonLib.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
我得到了,无法在运行时加载程序集错误。看来我在配置文件中做错了。 SharedFolder是添加到项目中的文件夹。
答案 0 :(得分:8)
似乎codeBase元素用于获取带有URL的文件,您是否尝试过使用probing element?
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="CommonLib" publicKeyToken="f0b5026b59d5645e"
culture="neutral" />
</dependentAssembly>
<probing privatePath="SharedFolder"/>
</assemblyBinding>
</runtime>
答案 1 :(得分:-1)
谢谢Yuriy。问题是路径。 privatePath值必须是.NET运行时可以到达的路径。我试图将“SharedFolder”放在Debug文件夹里面,它直接位于项目文件夹下。