我们将.net 3.5项目(c#)升级到.net 4.0。当你在项目文件有两个标记,我想弄明白:<RequiredTargetFramework>和<targetframeworkversion>有什么区别?
<RequiredTargetFramework>3.5</RequiredTargetFramework>
<TargetFrameworkVersion>4.0</TargetFrameworkVersion>
为什么有两个不同的值看似相似的标签?
我们将.net 3.5项目(c#)升级到.net 4.0。当你在项目文件有两个标记,我想弄明白:<RequiredTargetFramework>和<targetframeworkversion>有什么区别?
<RequiredTargetFramework>3.5</RequiredTargetFramework>
<TargetFrameworkVersion>4.0</TargetFrameworkVersion>
为什么有两个不同的值看似相似的标签?
<RequiredTargetFramework>
元素已经出现在您的3.5项目中。它与组件<Reference>
相关联,并且只出现在.NET 2.0中不可用的程序集中。
我不会在MSDN中单独购买很多库存,我不了解批量构建如何具有任何做组装参考。它也不用于任何3.5 MSBuild .target文件。当您将Target Framework更改为小于支持程序集所需的版本时,IDE会简单地使用它将警告图标放在参考节点中的引用旁边。
在项目文件中还有其他像这样的元素不影响MSBuild,但在IDE中有效。像<SubType>
和<DependentUpon>
中的<Compile>
元素。
您是否找到了此链接? link text。 TargetFrameworkversion非常简单,您可以在项目属性中更改该属性,以说明构建哪个框架。文章说,RequiredTargetFramework用于批量项目(但它仍然是不明确”除了它不是用了很多真正的目的)
批经他们RequiredTargetFramework元数据的参考项目。目标的输出是这样的:
参考:3.5; 3.5
参考:4.0
目标配料在实际应用较少的基础之上。任务分批更为常见。有关更多信息,请参阅MSBuild批处理。
-1:您可以参考描述MSBuild“Target Batching”如何工作的文档。问题是要求解释RequiredTargetFramework项目元数据的语义为VS或默认的.net MSBuild'.targets'文件使用它们。 – binki 2013-07-29 13:59:51