我的InvalidProgram异常带有消息
公共语言运行时检测到无效程序
这发生在我们在过去3个月内未发生变化的应用程序中。 唯一的变化是我们更改了构建服务器(重新安装)。 服务器正在运行Windows 8并且上面有Windows SDK 7.1。 我们使用ClickOnce打包应用程序。
这个异常发生在一个非常特定的方法调用中,在调用了与程序集相同的类的方法之后,所以我认为它排除了程序集加载问题。
我无法找到导致调试此问题的位置。我认为它与我在构建服务器上使用的工具版本有关,例如MSBuild,CSC,mage.exe等。
我发现有人说当我有很长的方法名称时可能会发生这个错误,但这似乎不适用于此,因为我没有很长的方法名称而且我自己也没有生成代码。
该应用程序使用.NET 4.0
更新1 这肯定是编译工具(我认为的版本)或ClickOnce打包工具的问题,因为当我在我的机器上编译和运行应用程序时它工作,当我在我的机器上安装打包的应用程序时它显示上面的例外。
答案 0 :(得分:1)
将此参数添加到编译器:/nowin32manifest