什么是<requiredtargetframework>和<targetframeworkversion>之间的区别?</targetframeworkversion> </requiredtargetframework>

时间:2010-08-11 13:36:42

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

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

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

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

2 个答案:

答案 0 :(得分:8)

{3}项目中已存在<RequiredTargetFramework>元素。它与程序集<Reference>相关联,并且仅出现在.NET 2.0中不可用的程序集

我在MSDN中只提一下它并没有买多少股票,我不知道批量构建如何对汇编引用做任何事情。也没有在任何3.5 MSBuild .target文件中使用它。我认为当您将目标框架更改为低于支持程序集所需的版本时,IDE只是使用它将警告图标放在References节点中的引用旁边。

项目文件中还有其他类似的元素,这些元素不会影响MSBuild,但会在IDE中生效。与<SubType>元素中的<DependentUpon><Compile>一样。

答案 1 :(得分:0)

您是否找到了这个链接? link text。 TargetFrameworkversion很简单,您可以在项目属性中更改,以说明要构建哪个框架。文章说,RequiredTargetFramework用于批量项目(但它仍然不清楚它的真正目的,除了它没有经常使用)

  

通过RequiredTargetFramework元数据批量参考项目。目标的输出如下所示:

     

参考:3.5; 3.5

     

参考:4.0

     

目标批处理在实际构建中很少使用。任务批处理更常见。有关更多信息,请参阅MSBuild批处理。