Сбой службы с исключением: ошибка в имени модуля: MSVCR100.dll

#c# #wcf #exception #windows-services

#c# #wcf #исключение #windows-services

Вопрос:

По какой-то причине служба выходит из строя с сообщением в средстве просмотра событий, в котором говорится «Ошибка в имени модуля: MSVCR100.dll «никакой другой полезной информации. Это останавливает весь процесс. Мы не можем найти причину этой проблемы и не можем перехватить это исключение. Мы не ссылаемся на этот модуль в нашем исходном коде. Служба запущена в Windows 7 64-разрядной версии .NET 4.

Ответ №1:

Быстрый поиск в Google показывает, что это распространенная ошибка для множества приложений. Это также показывает, что это обычная базовая библиотека.

У меня есть пара потенциальных предложений, поскольку быстрый поиск не выявил четкого ответа, который точно соответствовал бы вашей проблеме.

Одна из возможностей заключается в том, что эта библиотека не зарегистрирована в Windows. Это предполагает, что он основан на COM, конечно. Я не думаю, что это первый подход, но это возможно.

Другая проблема связана с 64-разрядной версией. Наиболее вероятной причиной здесь была бы 32-разрядная служба в 64-разрядной ОС. Одним из возможных методов является настройка службы как 64-разрядной; другим было бы убедиться, что рассматриваемая DLL используется WOW. Скорее всего, это приведет к удалению копии DLL в SysWOW64.

Комментарии:

1. MSVCR100.dll это библиотека Microsoft VisualStudio C runtime library, самая базовая библиотека любой программы на C / C . Это не COM-компонент, и его не нужно регистрировать.

2. Было бы неплохо, если бы человек, который опубликовал этот вопрос и принял этот ответ, указал, какая часть ответа применима.

Ответ №2:

Случилось со мной: у меня было приложение .NET, которое отслеживало (проверяло, живо ли, запускало, если мертво, убивало, если использовалось слишком много памяти) приложение C . Приложение C не удалось запустить должным образом, и эта ошибка была выше журнала событий.

Перекомпиляция .NET app в .NET 4.0 (был 2.0) решил проблему