我们将.net 3.5项目(c#)升级到.net 4.0。当您查看项目文件时,有两个标记我正在尝试理解:
<RequiredTargetFramework>3.5</RequiredTargetFramework>
<TargetFrameworkVersion>4.0</TargetFrameworkVersion>
为什么有两个看似相似的标签有不同的值?
答案 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批处理。