Visual Studio 2013 NuGet包还原在命令行中不起作用(不是msbuild而是vcvarsall.bat)

时间:2015-06-18 18:40:00

标签: .net visual-studio msbuild nuget nuget-package-restore

Visual Studio 2013在没有MSBuild的情况下引入了新的包恢复方式,现在启用NuGet包恢复的旧方式为deprecated

迁移项目后,如Nuget docs所述, 在VisualStudio包中进行构建还原时,但是使用命令行VisulStudio运行构建时,事件 vcvarsall.bat 包不会被恢复。

我错过了什么吗?

结论

好吧,如果从命令行调用Visual Studio,则不会调用包还原。使用nuget.exe

手动打包还原
nuget restore Solution.sln
  

要使此特定行工作,您需要在系统范围内安装NuGet并将其路径添加到PATH环境变量中的二进制文件夹

1 个答案:

答案 0 :(得分:6)

在命令行上,您必须在调用Nuget restore solution.sln之前手动运行msbuild.exe。这只是构建运行之前的一小步。

Visual Studio会自动执行此操作,并且作为工作流程的一部分,Team Build也会执行对nuget restore的调用。