2013-04-29 9 views
0

У меня есть файл библиотеки C++ (.dll), который необходимо использовать в веб-сервисе WCF. Обычно WCF может понимать только DLL, расположенную по адресу C:\Program Files (x86)\Common Files\microsoft shared\DevServer\11.0. Я успешно запускаю и вызываю DLL через код. Но после размещения в IIS IIS не может найти файлы DLL, он не может загружать сборки. Каково точное местоположение для размещения DLL-файлов в IIS?Файлы библиотеки C++, не идентифицирующие из IIS

+1

Почему бы вам не разместить свою DLL, где находится ваш исполняемый файл? – nvoigt

+0

Изначально я помещался только в папку приложения wcf, но он не мог загрузить. Я искал в Google для этого, говорит ИТ-приложение, которое приложение WCF может читать dll party dll, только если это C: \ Program Files (x86) \ Common Files \ microsoft shared \ DevServer \ 11.0. так что только я положил. –

+0

Пожалуйста, разместите свой код. Как вы ссылаетесь на родную DLL в своем коде? – nvoigt

ответ

0

Не ссылайтесь на DLL с физического пути на локальном диске. Если вы это сделали, DLL будет находиться в вашей локальной сети, и только служба будет перемещена на сервер. Таким образом, поместите папку в ваше приложение и поместите DLL в эту папку и назовите их. Таким образом, при перемещении сервисного решения DLL также будет двигаться вместе с решением.

If the dlls are owned by any other tools or applications then you need to install them in that server where you are planning to host the service. If you need only the dlls and they can work independently then you may copy the dlls as said above. 
+0

Привет, Кирубха, я попробовал что-то, но никогда не загружался. –

+0

Какова точная ошибка, которую он возвращает? –

+0

Не удалось загрузить файлы сборок –

-1

Служба пытается получить доступ к dlls из GAC. Добавьте DLL в GAC. Затем обновите файл конфигурации с необходимыми номерами, указанными ниже:

<compilation debug="true"> 
     <assemblies> 
     <add assembly="MyWcfAssembly, Version=1.0.0.0, Culture=neutral,  PublicKeyToken=AAAAAAAAAA"/> 
     </assembly> 
    </compilation> 
+0

Пожалуйста, прочитайте вопрос. Это родная DLL, вы не можете загрузить ее в GAC. – nvoigt