为什么我不能在Visual Studio UI中切换核心和完整框架之间的目标?

时间:2018-02-07 09:26:56

标签: .net visual-studio .net-core

在列表中,我看到Core 1|1.1|2.0或完整框架版本,但并非所有版本都在一起。这取决于我在csproj文件中写的内容:

 <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
  </PropertyGroup>

如果我定位某些core版本,则列表中没有完整的框架,反之亦然。

这是一个关于多重定位的非常好的post

enter image description here

1 个答案:

答案 0 :(得分:4)

IDE在整个平台之间的转换从来没有真正的好选择;目标框架几乎总是局限于同一个系列中的版本 - 系列由您在创建项目时选择的模板决定。从历史上看,在框架 family 之间进行更改是比现在更强烈的 更大的变化 - csproj的基本差异使其成为一项巨大的任务。最终,这只是一个IDE限制。至于为什么它没有得到改进:可能是所涉及的团队的优先级与感知的使用情况以及该功能的预期受众,以及可能更深入的IDE技术原因。

目前,在新式csproj 中更改目标框架最容易通过编辑csproj来完成。您还可以使用新的csproj格式进行多目标定位(使用{{1}}),在这种情况下,您在屏幕截图中显示的下拉列表将完全禁用 - 并且您必须完全更改目标手工:

this

好消息是,对于多个框架,调试仍有很好的选择:

enter image description here