Самостоятельное размещение WCF и System.ServiceModel.FaultException

У меня есть простой проект библиотеки служб WCF (назовем этот проект W) с несколькими библиотеками DLL в каталоге X. Я установил каталог запуска W в X, все методы работают правильно с использованием WcfServiceHost в Visual Studio 2010.

Я хочу самостоятельно разместить W, поэтому я создал консольный проект (назовем этот проект C), добавил ссылку на W, установил каталог запуска W на X, а затем, по существу, следующие основные строки кода

var host = new ServiceHost(typeof(EvalService));
host.Open();

Когда я теперь тестирую методы в W, я получаю System.ServiceModel.FaultException с {"The specified module could not be found. (Exception from HRESULT: 0x8007007E)"}.

Что это может означать? Как узнать, какой модуль он пытается загрузить?

Я новичок как в С#, так и в WCF, любой намек будет оценен.


person lingo_journey    schedule 21.02.2013    source источник
comment
используйте fuslogvw.exe в файле . Сетевой SDK   -  person rene    schedule 21.02.2013
comment
Спасибо, @rene, в fuslogvw.exe ничего не отображается, есть еще идеи?   -  person lingo_journey    schedule 22.02.2013
comment
Возможно, отсутствует .Net dll, попробуйте ProcessExplorer и найдите FAILED в столбце Result.   -  person rene    schedule 22.02.2013


Ответы (2)


Вы можете подписаться на событие AppDomain.AssemblyResolve и посмотреть в отладчике, какая сборка проблемная.

AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += OnAssemblyResolve;

...

private static Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
{
   Console.WriteLine(args.RequestingAssembly); //set breakpoint there
   return null;
}
person Memoizer    schedule 22.02.2013

Вам нужно определить, является ли эта ошибка в службе или клиенте.

Из сообщения об ошибке кажется, что это ошибка на стороне службы. Вы можете реализовать IErrorHandler из http://msdn.microsoft.com/en-us/library/gg281715.aspx.

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

Надеюсь это поможет.

person Nabheet    schedule 22.02.2013