Решение было другим для меня. Это может быть очевидной информацией для людей, которые хотя бы поверхностно знакомы с разработкой WCF. Но в надежде, что это поможет другим новичкам, борющимся с той же проблемой, вот что я выяснил.
Оказалось, что приложение, которое я отлаживал, вообще не нуждалось в WcfSvcHost.exe. WcfSvcHost.exe предназначен для самостоятельных приложений WCF. Это приложение использовало службы, представленные как конечная точка в веб-приложении.
Что, наконец, подсказало мне это, так это то, что сначала появлялся этот экран:
Я заметил, что это отображается как отдельный процесс для WcfSvcHost.exe в диспетчере задач Windows. Это объясняет, почему я не мог заставить отладчик сломаться, даже когда я настроил Exception Settings, чтобы сломаться, когда System.Reflection.ReflectionTypeLoadException было выброшено. Visual Studio не ломалась, потому что не была подключена к процессу WcfSvcHost.exe. Он был присоединен к процессу IISExpress.exe, в котором выполнялось мое приложение. Но процесс WcfSvcHost.exe выдавал исключение.
Когда я нажимал кнопку «ОК» в приведенном выше сообщении об ошибке, процесс WcfSvcHost.exe закрывался и больше не отображался в диспетчере задач. Но приложение по-прежнему работало нормально. Так что ясно, что все, что происходит, не нужно. Быстрая проверка с другим разработчиком подтвердила, что приложению не требуются автономные службы WCF.
По какой-то причине Visual Studio все равно запускала WcfSvcHost.exe. И это, наконец, привело меня к этому ответу. Проекты библиотеки классов WCF можно настроить для запуска WcfSvcHost.exe при каждом запуске отладки.
Ответ заключается в том, чтобы щелкнуть правой кнопкой мыши каждый проект библиотеки классов WCF, выбрать «Свойства» и перейти на вкладку «Параметры WCF». Затем снимите флажок Запускать узел службы WCF при отладке другого проекта в том же решении.
Это необходимо сделать для всех библиотек классов WCF в вашем решении. Я не был уверен, какие из них какие, поэтому я просто просмотрел свойства для каждой библиотеки классов и исправил те, у которых была вкладка «Параметры WCF».
person
Katie Kilian
schedule
11.06.2019
.InnerException
. - person marc_s   schedule 08.02.2011