Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set location of DLLs to load in web.config

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.

like image 398
tgandrews Avatar asked Jan 19 '26 16:01

tgandrews


1 Answers

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>
like image 187
Oded Avatar answered Jan 21 '26 07:01

Oded