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

Mic*_*cah 12 .net-4.0 visual-studio-2010 .net-3.5

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

<RequiredTargetFramework>3.5</RequiredTargetFramework>
<TargetFrameworkVersion>4.0</TargetFrameworkVersion>
Run Code Online (Sandbox Code Playgroud)

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

Han*_*ant 9

<RequiredTargetFramework>元素已存在于您的3.5项目中.它与程序集关联,<Reference>仅出现在.NET 2.0中不可用的程序集中

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

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