【问题标题】:Which ngen.exe should i use when using supportedRuntime element in app.config?在 app.config 中使用 supportedRuntime 元素时,我应该使用哪个 ngen.exe?
【发布时间】:2012-10-11 06:37:54
【问题描述】:

我将 .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?

【问题讨论】:

    标签: .net .net-3.5 app-config nsis ngen


    【解决方案1】:

    您不能“捆绑”ngen.exe,这是不允许的。许可证特别不允许,请阅读VS安装目录中的redist.txt。

    这不仅仅是为了让你的生活变得困难,而是为了阻止你犯错。使用这样的 .exe.config 文件,您要求应用程序使用 .NET 4 运行,而不管它是针对什么构建的。您要求使用 v4.0 抖动,因此只有 v4.0 版本的 ngen.exe 是合适的。它已经安装在机器上,因此不需要“捆绑”。如果未安装,则运行该应用程序也将无法运行。

    【讨论】:

    • +1。作为 .NET Framework 4 的一部分,可以在 %windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe 中找到 ngen。
    猜你喜欢
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2016-09-28
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多