Среда выполнения общего языка WCF обнаружила недопустимую программу в Windows XP
У меня есть приложение Windows Forms, работающее в.NET 4, которое взаимодействует с веб-службой WCF. Приложение скомпилировано для запуска с X86 в качестве целевой платформы. Приложение было развернуто в сети из сотен компьютеров, и есть только пара, у которых установлена версия Windows XP (Microsoft Windows Embedded POSReady 2009, пакет обновления 3, если быть более точным), которая выдает ошибку "Общий язык" Среда выполнения обнаружила недопустимую программу "после вызова конструктора объекта прокси-класса WCF. Чтобы изолировать проблему, я создал небольшое консольное приложение, которое единственное, что он делает, - вызывает конструктор прокси-класса веб-службы, например:
ItesWebServiceClient m_webService = new ItesWebServiceClient ("BasicHttpBinding_IItesWebService");
И тогда выдается исключение:
Такое же консольное приложение работает на всех других компьютерах, даже с той же версией Windows.
Мы уже пытались восстановить и переустановить.Net Framework на сбойных компьютерах, но до сих пор это не исправлено. Я также использовал инструмент PEVerify для проверки MSIL и запускал код в режиме отладки (без оптимизации), как предложено в других публикациях.
Я что-то упускаю? может быть ключевой компонент.Net Framework или оперативное исправление, которое необходимо установить?
Спасибо
1 ответ
Хорошо, оказывается, что человек, который переустанавливал.Net framework на машинах, всегда устанавливал версию профиля клиента.net. Удаление этой версии и установка полной версии.net 4 решили эту проблему.