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

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

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

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

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

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

EDIT: Обратите внимание, обратите внимание на то, что библиотеки DLL имеют «строгое имя», поэтому я не могу ссылаться на них, используя их открытый ключ.

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

Ответы [ 2 ]

1 голос
/ 12 августа 2011

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

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

1 голос
/ 12 августа 2011

Вы можете использовать элемент 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>
...