0

.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 でしたが、メイン プロジェクトと 2 つの依存関係を .NET 4 に変更しました。他にも .NET 2 と .NET 3.5 を使用した参照がありますが、4 を超えるものはありません。ここで何が起こっているのか分かりますか?

4

2 に答える 2

1

初めてどのように動作するかはわかりませんが、エラー メッセージに基づいて、クライアント マシンに .NET 4 フレームワークがインストールされていないようです (.NET 4 のクライアント バージョンだけが必要なのか、それともフル バージョンが必要なのかわかりません)。

于 2013-04-17T02:28:16.470 に答える
0

問題は、プロジェクトを .NET 4 (インストール済み) でビルドするように変更したことですが、私のプログラムは、最初の起動後に更新のために別の場所から別の App.config をロードします。

<startup>
  <supportedRuntime version="v2.0.50727"/>
</startup>

それ以外の

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

これにより、アプリの起動時に、.NET 4 を使用する代わりに 3.5 ランタイムが読み込まれました。

于 2013-04-26T15:35:15.473 に答える