是否可以在web.config中设置要加载的特定DLL的本地文件路径位置,而不是将这些DLL放在GAC或C:\Windows\System32
中。
这样可以更轻松地部署Web服务,而不必乱用其中任何一种。
我已经尝试过将DLL添加到项目中但没有成功。它们是4个oracle即时客户端DLL。
如果有人知道这样做的方法会很棒。
编辑: 请注意,DLL的注释是“强名称”,所以我不能使用他们的公钥引用它们。
此外,它们目前未在项目中直接引用,因为它们无法添加。
答案 0 :(得分:1)
您可以使用dependentAssembly
元素通过dll
元素指定codeBase
所在的位置。
但是,我认为这需要是一个有效的网址。
来自MSDN的示例:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
<codeBase version="2.0.0.0"
href="http://www.litwareinc.com/myAssembly.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
答案 1 :(得分:1)
探测路径允许您指定应用程序查找程序集的位置。这不会影响GAC中的内容,但可以替代将所有内容存储在bin文件夹中。