WCF: не удалось загрузить файл или сборку ... система не может найти указанный файл - PullRequest
1 голос
/ 09 августа 2011

Служба WCF размещена в IIS 6/7.Я пробовал разные вещи с файлом .svc, но не могу заставить его работать.Я всегда получаю FileNotFoundException «Не удалось загрузить файл или сборку 'XYZ' или одну из ее зависимостей. Система не может найти указанный файл."

Сборка находится в папке bin, а не в GAC.Но XYZ - это пространство имен и имя класса, поэтому сервер ищет неправильное имя сборки.Трассировка загрузки сборки подтверждает, что она ищет XYZDLL в разных местах, но это пространство имен и имя класса ... XYDLL будет сборкой.

Я попытался сгенерировать svc, Visual Studio 2010 и изменил его насодержать только полное имя

<%@ ServiceHost Service="X.Y.Z, X.Y, Version=1.0.2.0, Culture=neutral, PublicKeyToken=xxxxx" %>

Ответы [ 3 ]

0 голосов
/ 09 августа 2011

Сообщение об ошибке может вводить в заблуждение. Попробуйте создать тестовую страницу в том же проекте и создать экземпляр класса обслуживания из имени типа. Когда вы переходите на эту тестовую страницу, она должна дать правильное сообщение об ошибке о том, какие сборки она не может найти. Вы можете использовать следующий код, например



    Type serviceType = Type.GetType("X.Y.Z, X.Y, Version=1.0.2.0, Culture=neutral, PublicKeyToken=xxxxx");<br/>
    var serviceInstance = Activator.CreateInstance(serviceType);<br/>
    Response.Write(serviceInstance);

0 голосов
/ 13 февраля 2015

Имеет ли этот WCF какие-либо сторонние библиотеки, ссылающиеся на которые требуют, чтобы Applicatin Pool был либо 32-битной, либо 64-битной версией?Убедитесь, что для AppPool установлено значение classic, соответствующим образом интегрированное

0 голосов
/ 09 августа 2011

Используйте средство просмотра журнала привязки сборки, чтобы увидеть местоположения, которые просматривает clr для запрашиваемой сборки - http://msdn.microsoft.com/en-us/library/e74a18c4(v=VS.100).aspx

...