我有一个visual studio 2008解决方案和.NET Framework v3.5.最近我已经转换为Visual Studio 2010和.NET Framework v4.0.
要更改为.NET Framework v4.0,我已完成项目属性和构建选项卡,方法是将目标更改为每个项目的目标Framework v4.0.但是,如果我打开配置项目文件csproj,我可以看到有一个与v3.5相关的标签:
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我想知道为什么一些包含的引用是指v3.0,v3.5框架,如果项目目标是.NET Framework v4.0.尽管项目针对的是.NET framework v4.0,但其他项目也会出现这种情况.
System.Core的目标是3.5 WindowsBase的目标是3.0
这些引用本身需要 3.5(对于 System.Core)和 3.0(对于 WindowsBase)。实际上,这并不是 100% 正确(请参阅 Ramhound 对此答案的评论)。
到目前为止,任何 2.0 以上的 .NET 框架本质上都是位于 2.0 之上的 DLL。例如,几年前的一份工作,我需要 .NET 2.0 中的 LINQ 和 Hashset<T>,因为我的一半用户都停留在 Win2K 上,因为它不支持 .NET 2.0 以上的任何内容。我最终从Mono重新编译了 System.Core ,并将其目标定为 2.0,并且能够使用更新的功能。
我认为这不是你需要担心的事情。
| 归档时间: |
|
| 查看次数: |
2073 次 |
| 最近记录: |