0

.net 2.0 および .net 4.0 用の ngen.exe を、NSIS インストーラー内の .net 3.5 アプリケーションにバンドルしています。他に方法が見つからないのでまとめます。

app.config ファイルに以下があります。

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
</startup>

上記のコードを持たない他の app.config も使用しています。その他の app.config は、PC に .net 3.5 がインストールされている場合にのみ使用されます。私の質問は、ユーザーが .net 3.5 をインストールしていない場合、どのバージョンの ngen.exe を使用すればよいですか?

4

1 に答える 1

3

ngen.exeを「バンドル」することはできません。許可されていません。ライセンスは特にそれを許可していません。VSインストールディレクトリのredist.txtを読んでください。

これはあなたの人生を困難にするだけでなく、あなたが間違いを犯さないようにするためです。このような.exe.configファイルを使用する場合、アプリのビルド対象に関係なく、アプリが.NET4で実行されることを要求します。v4.0ジッターを使用するように要求しているため、ngen.exeのv4.0バージョンのみが適切です。これはすでにマシンにインストールされているため、「バンドル」は必要ありません。インストールされていない場合、アプリの実行も機能しません。

于 2012-10-13T00:14:52.930 に答える