Установить расположение DLL для загрузки в web.config

Можно ли в файле web.config установить путь к локальному файлу для конкретных библиотек DLL для загрузки, вместо того, чтобы эти библиотеки DLL в GAC или C:\Windows\System32,

Это значительно упростит развертывание веб-службы без необходимости возиться с любым из них.

Я уже пытался добавить библиотеки DLL в проект, но безуспешно. Они являются 4-мя оракулами моментальных клиентских DLL.

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

Если кто-нибудь знает способ сделать это, это было бы здорово.

РЕДАКТИРОВАТЬ: Обратите внимание, обратите внимание, что библиотеки DLL "строго названы", поэтому я не могу ссылаться на них, используя их открытый ключ.

Кроме того, в настоящее время на них нет прямой ссылки в проекте, поскольку они не могут быть добавлены.

2 ответа

Вы можете использовать dependentAssembly элемент, чтобы указать, где dll живет через codeBase элемент.

Тем не менее, я считаю, что это должен быть действительный URL.

Пример из 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>

Пробные пути позволяют указать, где приложение должно искать сборки. Это не повлияет на помещение вещей в GAC, но даст вам альтернативу хранению всего в папке bin.

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

Другие вопросы по тегам