【问题标题】:Target a specific .NET framework针对特定的 .NET 框架
【发布时间】:2012-11-21 08:46:35
【问题描述】:

我们知道,在 Visual Studio for C# 项目中,我们可以指定我们想要定位的 .NET 框架。这是我在目标 .NET 4.0 时得到的 app.config 文件:

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

所以那里有 sku 属性。这是否意味着我的代码在安装了 .NET 4.5 时未安装 .NET 4.0 的机器上无法运行。我从 MSDN 中发现它令人困惑,我想对此进行一些澄清。如果是这样,我会说这是相当糟糕的设计。如果我希望我的代码在任何 .NET 版本的 .NET 4.0 及更高版本(例如 .NET 4.5)上运行怎么办?我无法为不同的环境分发不同的 app.config。

【问题讨论】:

    标签: c# .net windows visual-studio


    【解决方案1】:

    当您以 .Net 版本为目标时,您正在设置运行项目所需的 MINIMUM 版本。您还限制自己使用该版本中可用的 .Net 框架元素进行编码。

    在我的公司,我们必须将 .Net v2.0 用于我们想要推送给所有客户的一些项目,因为他们的旧硬件要么不能运行,要么不能运行更高版本的 .Net。

    【讨论】:

    • 谢谢。这回答了我的问题。
    【解决方案2】:

    查看这篇文章,解释得很好:

    http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx

    摘自来源:

    为 .NET 4 和 .NET 4.5 安全开发

    博客中暗示如果您在您的计算机上安装 .NET 4.5 您无法安全地为 .NET 4 开发的机器。在 Rick 的帖子中,他 比较 .NET 4 机器上的两个 DLL,并在 .NET 4.5 之后再次比较 地方升级。如果您已经安全地针对 .NET 4,您如何 安装了.NET 4.5?您不再拥有那些 .NET 4 DLL,对吧?

    【讨论】:

    • 感谢您的信息。它非常有帮助,虽然它不能准确回答我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多