WCF公共语言运行时检测到Windows XP上的无效程序

问题描述:

我有一个运行在.NET 4上的Windows窗体应用程序,它与WCF Web服务进行通信。该应用程序被编译为以X86作为平台目标运行。该应用程序部署在数百台计算机的网络上,并且只有几个,它恰好安装了Windows XP版本(Microsoft Windows Embedded POSReady 2009,更精确地说是Service Pack 3),它启动了错误“Common Language运行时检测到一个无效的程序“调用WCF代理类对象的构造函数。为了隔离问题,我创建了一个小型控制台应用程序,它唯一要做的就是调用Web服务代理类的构造函数,例如:WCF公共语言运行时检测到Windows XP上的无效程序

ItesWebServiceClient m_webService = new ItesWebServiceClient(“BasicHttpBinding_IItesWebService”);

和异常,然后抛出:

stacktrace output

同样的控制台应用程序上的所有其他计算机,甚至使用相同的Windows版本的那些运行。

我们已经尝试在发生故障的计算机上修复并重新安装.Net框架,但至今没有修复它。我还使用PEVerify工具验证MSIL,并按照调试模式运行代码(无优化),如其他帖子所示。

有什么我失踪了吗?有没有需要安装的关键.Net框架组件或热修复?

感谢

好的事实证明,谁是重新安装机器上的.NET Framework中的人总是在安装.NET客户端配置文件版本。卸载该版本并安装完整的.net 4版本解决了这个问题。