我们正在慢慢迁移到VS2017,大部分项目都是默默地进行,没有太多干扰。今天开始将WPF项目从VS2015迁移到VS2017。当我构建解决方案时,我收到以下警告:
MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
我搜索了问题,但我似乎独自一人。我不知道是什么原因引起的。 .Net目标是4.5.1,但将其更改为4.6.2没有区别。也没有清理或删除bin和obj目录。谁有线索?
答案 0 :(得分:2)
在从VS2017迁移到VS2019以获得包含类库的解决方案后,从命令行构建时遇到了此问题。我在PATH环境变量-C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
中发现了VS2017的MSBuild版本。从环境变量中删除该路径,然后重新打开控制台即可解决此问题。
答案 1 :(得分:1)
对于WPF项目,VS2017 MSBuild自动检测采用MSBuild / v14而不是v15
您可以尝试将nuget.exe
的版本更新为4.0
文件夹中的.nuget
及更高版本。
Visual Studio 2017附带NuGet 4.0
和NuGet 4.0
程序包管理器扩展目前不适用于Visual Studio 2015(Visual Studio 2015附带NuGet 3.4.4
和NuGet {{1可用作Visual Studio 2015的显式下载)。
根据您的评论,似乎旧的nuget.exe未检测到MSBuild版本3.5.0
,因此请尝试在15.0
文件夹中将nuget.exe更新为4.0及更高版本。
此外,我发现您的解决方案仍由旧包恢复方法" MSBuild集成恢复"配置,这是原始的包恢复实施,尽管它继续在许多情况下工作,它不包括其他两种方法解决的全套方案。
Automatic Package Restore是NuGet团队在Visual Studio中推荐的Package Restore方法。您可以转换为使用自动包还原。有关详细信息,请查看以下主题:
Nuget: Switching from "Enable Package Restore" to "Automatic Package Restore"
希望这有帮助。