我有一个.NET 4.0应用程序。在第一次运行时,安装程序会运行,应用程序会正常打开。如果在已安装时运行它,则会抛出此异常:
System.BadImageFormatException was unhandled
Message: Could not load file or assembly '[my assembly]' or one of its dependencies.
This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
该应用程序以前是.NET 3.5,我将主项目和两个依赖项更改为.NET 4.还有其他引用使用.NET 2和.NET 3.5,但没有高于4.任何想法这里发生了什么?
答案 0 :(得分:1)
不确定它是如何工作的第一次但是基于错误消息,它看起来好像你的客户端机器没有安装.NET 4框架(不确定你是否只需要.NET 4的客户端版本或完整版本)版本)。
答案 1 :(得分:0)
问题是我将我的项目更改为在.NET 4(已安装)上构建,但我的程序在第一次启动后从另一个位置加载了另一个App.config以进行更新。该配置文件包含
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
而不是
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
导致我的应用程序在启动时加载3.5运行时而不是使用.NET 4。