Set location of DLLs to load in web.config

允我心安 提交于 2020-01-04 04:37:11

问题


Is it possible within the web.config to set the local file path location of specific DLLs to load rather than having those DLL in the GAC or C:\Windows\System32.

This would make it much easier to deploy the web service, without having to mess around with either of those.

I have tried already to add the DLLs to the project but with out success. They are the 4 oracle instant client DLLs.

  • oci.dll
  • orannzsbb11.dll
  • oraocci11.dll
  • oraociicus11.dll

If anyone knows of a way of doing this that would be great.

EDIT: Please note, note of the DLLs are "strongly named" so I cannot reference them using their public key.

Also, they are not referenced directly in the project currently because they fail to add.


回答1:


You can use the dependentAssembly element to specify where a dll lives through the codeBase element.

However, I believe this needs to be a valid URL.

Example from 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>



回答2:


Probing paths let you specify where an application should look for assemblies. This won't affect putting things in the GAC, but gives you an alternative to storing everything in the bin folder.

http://msdn.microsoft.com/en-us/library/823z9h8w.aspx



来源:https://stackoverflow.com/questions/7040432/set-location-of-dlls-to-load-in-web-config

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!