MSBuild 的 Visual Studio 解决方案项目中所需的更改
Posted
技术标签:
【中文标题】MSBuild 的 Visual Studio 解决方案项目中所需的更改【英文标题】:Changes required in Visual studio solution project for MSBuild 【发布时间】:2019-03-02 20:44:22 【问题描述】:我有一个带有两个简单类库项目的 .Net 解决方案。这两个项目都包含一个方法,例如 hello world。
解决方案正在使用 Visual Studio 和 MSBuild.exe 正确构建。
现在,当我将 Project 1 引用到 Project-2 时,它开始产生问题。
解决方案正在使用 Visual Studio 正确构建,但不是通过 MSBuild。
请参考随附的屏幕截图。
在使用 MSBuild 构建解决方案之前,我们需要对解决方案做些什么具体的事情吗?
(_GetProjectReferenceTargetFrameworkProperties 目标) -> C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1657,5):错误 MSB4036:未找到“GetReferenceNearestTargetFrameworkTask”任务。检查以下内容: 1.) 项目文件中的任务名称与任务类的名称相同。 2.) 任务类是“公共的”并且实现了 Microsoft.Build.Framework.ITask 接口。 3.) 在项目文件或位于“C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin”目录中的 *.tasks 文件中正确声明了任务。 [D:\DevOps\Sample-Projects\DevOpsSoln\DummyClass\DummyClass.csproj]
还有一件事是我需要在 msbuild 控制台上提供任何特定参数,例如:
C:Programfile\MsBuild.exe *.sln 文件路径(任何特定参数)
注意:我的解决方案只有基于 DLL 的项目。
【问题讨论】:
我有更新文本。 【参考方案1】:MSBuild 的 Visual Studio 解决方案项目所需的更改
要解决此问题,请尝试使用安装程序安装 Nuget 包管理器:
下载打开Build Tools for Visual Studio 2017。
切换到“单个组件”标签
勾选“代码工具”选项下的“NuGet 包管理器”复选框。
点击安装进行安装。
它所在位置的屏幕截图:
这应该可以解决您在此问题中看到的错误。如果它不起作用,请参阅此问题中的the answers。
希望这会有所帮助。
【讨论】:
以上是关于MSBuild 的 Visual Studio 解决方案项目中所需的更改的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Visual Studio 2010 (msbuild?) 构建速度不快?
MSBuild 是不是需要安装 Visual Studio?
如何只用visual c++编译器而不安装visual studio