【问题标题】:Whats the difference between <RequiredTargetFramework> and <targetframeworkversion>?<RequiredTargetFramework> 和 <targetframeworkversion> 有什么区别?
【发布时间】:2011-03-28 09:28:48
【问题描述】:

我们将 .net 3.5 项目 (c#) 升级到 .net 4.0。当您查看项目文件时,我试图理解两个标签:

<RequiredTargetFramework>3.5</RequiredTargetFramework>
<TargetFrameworkVersion>4.0</TargetFrameworkVersion>

为什么会有两个看似相似但值不同的标签?

【问题讨论】:

    标签: visual-studio-2010 .net-3.5 .net-4.0


    【解决方案1】:

    你找到这个链接了吗? link text。 TargetFrameworkversion 很简单,您可以在项目属性中更改它来说明要构建的框架。文章说RequiredTargetFramework是用来批量处理物品的(但除了用的不多,还不清楚它的真正用途)

    通过RequiredTargetFramework 元数据对参考项进行批处理。目标的输出如下所示:

    参考:3.5;3.5

    参考:4.0

    目标批处理很少用于实际构建。任务批处理更为常见。有关详细信息,请参阅 MSBuild 批处理。

    【讨论】:

    • -1:请参阅描述 MSBuild“目标批处理”如何工作的文档。问题是要求解释RequiredTargetFramework 项目元数据的语义作为VS 或默认的.net MSBuild .targets 文件使用它们。
    【解决方案2】:

    &lt;RequiredTargetFramework&gt; 元素已存在于您的 3.5 项目中。它与程序集 &lt;Reference&gt; 相关联,并且仅出现在 .NET 2.0 中不可用的程序集上

    我没有在 MSDN 中单独提及它购买太多库存,我看不出批量构建与组装参考有何关系。它也没有在任何 3.5 MSBuild .target 文件中使用。我认为当您将目标框架更改为低于支持程序集所需的版本时,IDE 只是使用它将警告图标放在引用节点中的引用旁边。

    项目文件中还有其他类似的元素不会影响 MSBuild,但会在 IDE 中产生影响。就像 &lt;Compile&gt; 元素中的 &lt;SubType&gt;&lt;DependentUpon&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      • 2011-11-22
      • 2015-03-26
      相关资源
      最近更新 更多