首页 > 代码库 > 在CI (Jenkins) 从机(服务器)上使用bat批处理执行自动构建任务时,输出NuGet还原失败的解决方案
在CI (Jenkins) 从机(服务器)上使用bat批处理执行自动构建任务时,输出NuGet还原失败的解决方案
编译环境:Jenkins+MSBuilds
1.搜索本次构建的解决方案中的所有csproj后缀文件,打开后找到这一段代码,并且删除掉。如果没有,直接忽略跳过。
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists(‘$(SolutionDir)\.nuget\NuGet.targets‘)" /><Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> ...</Target>
这里因为在Visual Studio 2015中(对应的MSbuild版本是V14.0),已不再需要这一段代码配置。
2.增加命令:nuget.exe update -Self
echo Start initialize build parameters::set DotNetFrameworkPath=%windir%\Microsoft.NET\Framework::if exist %windir%\SysWOW64 set DotNetFrameworkPath=%windir%\Microsoft.NET\Framework64set SolutionName=Uniqloset Configuration=Debugset LogLevel=normalset SolutionPath=%~dp0..\srcset SolutionFile=%SolutionPath%%SolutionName%.slnset NugetExe=%SolutionPath%.nuget\NuGet.exeset NugetArgs=restore "%SolutionFile%"set MSBuildPath=C:\Program Files (x86)\MSBuild\14.0\Binset MSBuildExe=%MSBuildPath%\MSBuild.exeset MSBuildArgs=/t:Rebuild /p:Configuration=%Configuration%;VisualStudioVersion=14.0;TargetFrameworkVersion=4.6.1 /verbosity:%LogLevel% /l:FileLogger,Microsoft.Build.Engine;encoding=utf-8;append=true;logfile=build\%SolutionName%_%Configuration%_Build.logecho Initialize build parameters completed.echo NuGet Start ReStoreing..."%NugetExe%" update -Self"%NugetExe%" %NugetArgs%echo NuGet ReStore completed.echo MSBuild Start building..."%MSBuildExe%" %MSBuildArgs% "%SolutionFile%"echo MSBuild Build completed.
本解决方案同样适用于在本地机器中使用VS2015编译出现NuGet还原包失败的情况。
如有此情况,在搜索并使用其它方案未果,排除其它原因(例如网络问题,被墙等),可以使用本解决方案试试。
在CI (Jenkins) 从机(服务器)上使用bat批处理执行自动构建任务时,输出NuGet还原失败的解决方案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。