Visual studio MSBuild 解决方案项目中需要更改

Changes required in Visual studio solution project for MSBuild

我有一个包含两个简单 class 库项目的 .Net 解决方案。两个项目都包含一个方法,如 hello world。

解决方案正在使用 visual studio 以及 MSBuild.exe 正确构建。

现在,当我将项目 1 引用到项目 2 中时,它开始产生问题。

解决方案正在使用 visual studio 而非通过 MSBuild 正确构建。

请参阅随附的屏幕截图。

在使用 MSBuild 构建之前,我们需要使用解决方案做哪些具体的事情吗?

(_GetProjectReferenceTargetFrameworkProperties target) -> C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin\Microsoft.Common.CurrentVersion.targets(1657,5): error MSB4036: The "GetReferenceNearestTargetFrameworkTask" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin" directory. [D:\DevOps\Sample-Projects\DevOpsSoln\DummyClass\DummyClass.csproj]

还有一件事是我需要在 msbuild 控制台上提供任何特定参数,例如:

C:Programfile\MsBuild.exe *.sln file path (Any Specific parameter)

注意:我的解决方案只有基于 DLL 的项目。

Changes required in Visual studio solution project for MSBuild

要解决此问题,请尝试使用安装程序安装 Nuget 包管理器:

  1. 下载打开Build Tools for Visual Studio 2017.

  2. 切换到“单个组件”选项卡

  3. 勾选 "Code tools" 选项下的 "NuGet package manager" 复选框。

  4. 点击安装进行安装。

此位置的屏幕截图:

这应该可以解决您在这个问题中看到的错误。如果它不起作用,请参阅此问题中的 the answers

希望对您有所帮助。