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 文件,您要求应用程序使用 .NET 4 运行,无论它是针对什么构建的。您要求使用 v4.0 抖动,因此只有 v4.0 版本的 ngen.exe 是合适的。它已经安装在机器上,因此不需要“捆绑”。如果未安装,则运行该应用程序也将不起作用。

于 2012-10-13T00:14:52.930 回答