对于WPF项目,VS2017 MSBuild自动检测采用MSBuild / v14而不是v15

时间:2018-04-24 08:56:36

标签: wpf msbuild visual-studio-2017

我们正在慢慢迁移到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目录。谁有线索?

2 个答案:

答案 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"

希望这有帮助。