0

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

ItesWebServiceClient m_webService = new ItesWebServiceClient("BasicHttpBinding_IItesWebService");

然后抛出异常:

堆栈跟踪输出

相同的控制台应用程序可在所有其他计算机上运行,​​即使是具有相同 Windows 版本的计算机。

我们已经尝试在出现故障的计算机上修复和重新安装 .Net 框架,但到目前为止还没有修复它。我还使用 PEVerify 工具来验证 MSIL,并按照其他帖子中的建议在调试模式下运行代码(无优化)。

有什么我想念的吗?是否有需要安装的关键 .Net 框架组件或修补程序?

谢谢

4

1 回答 1

0

好的,事实证明,在机器上重新安装 .Net 框架的人总是在安装 .net 客户端配置文件版本。卸载该版本并安装完整的 .net 4 版本解决了它。

于 2017-04-25T15:46:50.963 回答