只建立在Azure中的DevOps解决方案的一个项目

时间:2019-01-31 11:19:44

标签: azure-devops

我正在尝试使用Azure Devops创建新的构建管道。我可以建造的整体解决方案,但是我不能够建立在相同的解决方案的单一项目。

我遇到以下错误:

  

nuget命令失败,并显示退出代码(1)和错误(无法确定要还原NuGet软件包的程序包文件夹。请指定-PackagesDirectory或-SolutionDirectory。)程序包还原失败

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

  

在Azure Devops中仅构建解决方案的一个项目

要解决此问题,您应指定nuget的目录以保存还原nuget软件包,例如:

enter image description here

当我通过packages.config /项目文件为一个项目还原nuget软件包时,我们应该在nuget restore任务上使用Advanced选项,然后指定一个目录,将其设置为默认软件包{{1} }。然后我对其进行测试,它已成功还原:

..\packages

错误的原因

当我们仅在Azure Devops中为解决方案的一个项目生成或还原nuget程序包时,nuget会将nuget程序包还原到解决方案文件夹下的默认2019-02-01T06:18:22.1311238Z ##[section]Starting: NuGet restore .... 2019-02-01T06:18:28.3155511Z [command]C:\VSTS-vs2017-agent\_work\_tool\NuGet\4.3.0\x64\nuget.exe restore C:\VSTS-vs2017-agent\_work\5\s\TestSample\TestSample\TestSample.csproj -PackagesDirectory ..\packages -Verbosity Detailed -NonInteractive -ConfigFile C:\VSTS-vs2017-agent\_work\5\Nuget\tempNuGet_169.config 2019-02-01T06:18:37.0366771Z All packages listed in packages.config are already installed. 2019-02-01T06:18:37.0594978Z ##[section]Finishing: NuGet restore 2019-02-01T06:18:22.1311238Z ##[section]Starting: NuGet restore 2019-02-01T06:18:22.1319968Z ============================================================================== 2019-02-01T06:18:37.0366199Z C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin\msbuild.exe "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\NuGetScratch\svd0ok2h.e2f.nugetinputs.targets" /t:GenerateRestoreGraphFile /nologo /nr:false /v:q /p:NuGetRestoreTargets="C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\NuGetScratch\bhkdd2rf.itk.nugetrestore.targets" /p:RestoreTaskAssemblyFile="C:\VSTS-vs2017-agent\_work\_tool\NuGet\4.3.0\x64\nuget.exe" /p:RestoreConfigFile="C:\VSTS-vs2017-agent\_work\5\Nuget\tempNuGet_169.config" /p:RestorePackagesPath="..\packages" 2019-02-01T06:18:37.0366350Z 2019-02-01T06:18:37.0366771Z All packages listed in packages.config are already installed. 2019-02-01T06:18:37.0594978Z ##[section]Finishing: NuGet restore 文件夹,但是由于我们未指定{{ 1}}文件在build / nuget恢复任务中,nuget不知道解决方案文件夹在哪里。然后nuget会抛出该错误。因此,我们应该为nuget指定一个目录,以保存还原nuget软件包。

希望这会有所帮助。