当我尝试在Visual Studio 2019中构建控制台应用程序项目时遇到此错误:
您的项目文件未将“ win”列为“ RuntimeIdentifier”。您应该在项目文件的“ RuntimeIdentifiers”属性中添加“ win”,然后重新运行NuGet还原。
现在,我有点困惑。我以为RuntimeIdentifiers
是.NET Core的东西。这是一个.NET Framework 4.6.2项目,尽管它确实引用了针对.NET Standard 2.0的库。
奇怪的是,这种情况以前从未发生过,在VS2019中的另一台PC上构建项目时,我没有收到此错误。引发错误的PC仅安装了VS2019,而正常运行的PC也安装了VS2017。 VS2019是否缺少VS2017提供的必需内容?
更新: 我在VS2019中不再遇到此错误,并且我认为此问题与MSBuild的较旧版本使项目混乱有关,因此无法还原。我有一个Cake脚本用于发布,当我运行它时,我发现它失败了,因为它回退到了MSBuild 4.7,而不是使用VS2019中的16.0。我在脚本中添加了VSWhereLatest,以确保它拾取了16.0,并且在Cake和从VS2019构建时错误都消失了。
在装有VS2017和VS2019的PC上,Cake并没有回落到4.7,但仍然比VS2017的速度提高了15.9,而不是VS2019的速度提高了16.0。