Restore NuGet Package in TeamCity Build and Deploy Step

丶灬走出姿态 提交于 2020-06-18 17:17:41

问题


My Build and Deploy step in TeamCity is not successfully executed. It is showing

"This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props."

Below is the step process log:

[Step 1/1] WebApplication2.sln.teamcity: Build target: TeamCity_Generated_Build
[22:31:54][WebApplication2.sln.teamcity] TeamCity_Generated_Build
[22:31:54][TeamCity_Generated_Build] MSBuild
[22:31:54][MSBuild] WebApplication2.sln: Build default targets
[22:31:54][WebApplication2.sln] ValidateSolutionConfiguration
[22:31:54][ValidateSolutionConfiguration] Building solution configuration "Debug|Any CPU".
[22:31:54][WebApplication2.sln] Build
[22:31:54][Build] MSBuild
[22:31:54][MSBuild] WebApplication2\WebApplication2.csproj: Build default targets
[22:31:54][WebApplication2\WebApplication2.csproj] EnsureNuGetPackageBuildImports
[22:31:54][EnsureNuGetPackageBuildImports] Error
[22:31:54][Error] R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2\WebApplication2.csproj(282, 5): This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props.
[22:31:54][Step 1/1] MSBuild command line parameters contain "/property:" or "/p:". It is recommended to define System Property on Build Parameters instead.
[22:31:54][Step 1/1] Process exited with code 1
[22:31:54][Step 1/1] MSBuild output
[22:31:54][MSBuild output] Start MSBuild...
[22:31:54][MSBuild output] 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe' '"@R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln.teamcity.msbuild.tcargs" R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln.teamcity'
[22:31:54][MSBuild output] working dir = 'R:\teamcity\buildAgent\work\5cfc9181ba33f9ec'
[22:31:54][MSBuild output] Microsoft (R) Build Engine version 4.7.2046.0
[22:31:54][MSBuild output] [Microsoft .NET Framework, version 4.0.30319.42000]
[22:31:54][MSBuild output] Copyright (C) Microsoft Corporation. All rights reserved.
[22:31:54][MSBuild output] 
[22:31:54][MSBuild output] Build started 14/08/2017 10:31:54 PM.
[22:31:54][MSBuild output] Project "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln.teamcity" on node 1 (TeamCity_Generated_Build target(s)).
[22:31:54][MSBuild output] Project "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln.teamcity" (1) is building "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln" (2) on node 1 (default targets).
[22:31:54][MSBuild output] ValidateSolutionConfiguration:
[22:31:54][MSBuild output]   Building solution configuration "Debug|Any CPU".
[22:31:54][MSBuild output] Project "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln" (2) is building "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2\WebApplication2.csproj" (3) on node 1 (default targets).
[22:31:54][MSBuild output] R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2\WebApplication2.csproj(282,5): error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props.
[22:31:54][MSBuild output] Done Building Project "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2\WebApplication2.csproj" (default targets) -- FAILED.
[22:31:54][MSBuild output] Done Building Project "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln" (default targets) -- FAILED.
[22:31:54][MSBuild output] Done Building Project "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln.teamcity" (TeamCity_Generated_Build target(s)) -- FAILED.
[22:31:54][MSBuild output] 
[22:31:54][MSBuild output] Build FAILED.
[22:31:54][MSBuild output] 
[22:31:54][MSBuild output] "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln.teamcity" (TeamCity_Generated_Build target) (1) ->
[22:31:54][MSBuild output] "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2.sln" (default target) (2) ->
[22:31:54][MSBuild output] "R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2\WebApplication2.csproj" (default target) (3) ->
[22:31:54][MSBuild output] (EnsureNuGetPackageBuildImports target) -> 
[22:31:54][MSBuild output]   R:\teamcity\buildAgent\work\5cfc9181ba33f9ec\WebApplication2\WebApplication2.csproj(282,5): error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props.
[22:31:54][MSBuild output] 
[22:31:54][MSBuild output]     0 Warning(s)
[22:31:54][MSBuild output]     1 Error(s)
[22:31:54][MSBuild output] 
[22:31:54][MSBuild output] Time Elapsed 00:00:00.19
[22:31:55][Step 1/1] Process exited with code 1
[22:31:54][Step 1/1] Step Build and Deploy (MSBuild) failed

This is what I use in Command line parameter in the step:

/p:Configuration=Debug
/p:DeployOnBuild=true 
/p:WebPublishMethod=Package 
/p:PackageAsSingleFile=true 
/p:SkipInvalidConfigurations=true
/p:VisualStudioVersion=14.0 
/p:PackageLocation="$(build.artifactstagingdirectory)\\"

Let me know if I missed something or not properly coded in the Command line parameter.

Thanks!


回答1:


First install NuGet.exe in TeamCity Tools.

Then just added another build step before your code compile to restore nuget packages in the project.




回答2:


You forgot to add the project or solution file.

  msbuild .\WebApplication2.sln /p:Configuration=Debug
 /p:OutputPath=bin
 /p:DeployOnBuild=True 
 /p:DeployTarget=MSDeployPublish

Or you have to have spaces in your project file names, than you must add quotes around.



来源:https://stackoverflow.com/questions/45675799/restore-nuget-package-in-teamcity-build-and-deploy-step

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!