在TeamCity构建和部署步骤中恢复NuGet包

时间:2017-08-14 13:36:04

标签: msbuild teamcity nuget-package

TeamCity中的My Build and Deploy步骤未成功执行。 它正在显示

  

"此项目引用此计算机上缺少的NuGet包。使用NuGet Package Restore下载它们。有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。丢失的文件是.. \ packages \ Microsoft.Net.Compilers.1.0.0 \ build \ Microsoft.Net.Compilers.props。"

以下是步骤流程日志:

sqoop import --connect jdbc:oracle:thin:@host:port:SID --username uname --password pwd --table abc.market_price --target-dir /ert/etldev/etl/market_price --split-by MNTH_YR --direct

这是我在步骤中的命令行参数中使用的内容:

[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

如果我在命令行参数中遗漏了某些内容或未正确编码,请告诉我。

谢谢!

2 个答案:

答案 0 :(得分:2)

首先在TeamCity Tools中安装NuGet.exe。 enter image description here

然后在代码编译之前添加另一个构建步骤以恢复项目中的nuget包。

enter image description here

答案 1 :(得分:1)

您忘记添加项目或解决方案文件。

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

或者你必须在项目文件名中包含空格,而不是必须添加引号。