我刚刚将.NET Core 3 RC1升级到final(两天前发布(,然后,当我刚刚升级它时,我可以构建项目,一切都很好。dotnet
命令显示 3.0.100 版本是活动的 SDK。
然后,我离开了几个小时,当我回到VS2019社区工作时,它不再起作用,我根本无法再构建项目了。我收到以下消息:
The current .NET SDK does not support targeting .NET Core 3.0.
我把头发撕裂了!!如果我从命令行尝试,我也遇到了问题:
Solution file error MSB4249: Unable to build website project "demo1". The ASP.NET compiler is only available on the .NET Framework version of MSBuild.
dotnet --version
显示:3.0.100
dotnet --list-sdks
显示在最后一行:3.0.100 [C:Program Filesdotnetsdk]
那么为什么 3 RC1 只是在工作,升级; 工作; 然后。 噗,不工作?尝试修复,卸载和重新安装(Net Core 3 SDK(,但无济于事。
编辑:正如我的评论中所建议的,这是Visual Studio 2019版本,该问题可重现:16.2.5。我相信这是问题的关键,我没有说出来。
适用于.NET Core 3发布版本的Visual Studio版本是Visual Studio 2019 16.3。
至于错误本身,可能是由旧版Visual Studio注册的MSBuild环境变量引起的。VS 和 .NET Core SDK 有其工具集副本,将它们混合会导致此类问题。 .NET Core 3.0 RC1 的发布是为了避免在上次的 VS 和 SDK 预览之间使用不同的工具。正如博客所解释的那样:
由于技术和历史原因,.NET 工具集(编译器、NuGet 客户端、MSBuild 等(在 Visual Studio 和 .NET Core SDK 之间复制。作为Visual Studio 2019 16.3 Preview 4的一部分,该工具集进行了重要更改,该预览版也在今天发布。作为任何 Visual Studio 版本一部分的 .NET Core SDK 版本必须包含相同的工具集,以便在所有方案中提供兼容的体验,这一点至关重要。