尝试使用MsBuild进行构建时,我们无法还原解决方案中使用的nuget软件包

时间:2019-02-19 07:12:08

标签: visual-studio-2015 msbuild nuget

我们无法通过Build女士恢复解决方案文件中使用的Nuget软件包

环境 Asp.Net解决方案 Visual Studio 2015

1 个答案:

答案 0 :(得分:0)

  

当尝试使用MsBuild进行构建时,我们无法还原解决方案中使用的nuget软件包

那是MSBuild的正确行为。因为还原的NuGet包是由 NuGet 而不是MSBuild完成的。

在Visual Studio中进行构建时,有两个关于nuget软件包管理的选项:

Tools-> NuGet Package Manager-> Package Manager Settings-> General

enter image description here

使用这两个选项,Visual Studio将在构建项目/解决方案时自动还原nuget包。

但是但Visual Studio 2015的MSBuild中没有内置此功能,因此无法使用MSBuild还原解决方案文件中使用的Nuget程序包。

要通过命令行还原nuget软件包,可以使用nuget CLI对其进行还原:

  • 从nuget.org下载nuget CLI
  • 在您的本地计算机上设置此nuget.exe。
  • 打开命令提示符窗口,将路径切换到存在nuget的位置。
  • 使用命令行nuget.exe restore "YourSolution.sln"

检查the document以获得一些详细信息。

更新您的评论:

  

2)MBUILD -t:nuget restore我们运行以下命令来构建   应用程序并还原软件包

对于使用 PackageReference 格式的项目,MSBuild还原目标仅适用。它不适用于使用packages.config格式的项目;使用nuget restore代替。

由于使用的是Visual Studio 2015,因此无法使用PackageReference(这是Visual Studio 2017的产品)。因此,必须使用nuget restore。

检查文档:restore target

希望这会有所帮助。