nuget在jenkins上不能自动还原项目依赖包---笔记
2017-01-19 16:34
225 查看
最近遇到一个情况,IDE 是 VS2015 Update3 ,新建一个library项目(暂时叫做 mytests),然后用 nuget 安装了一个 Shouldly 包
在 VS 上一切正常,可以跑起来。
当放到 Jenkins 上,死活不还原。查看Jenkins的输出日志,没有找到任何 mytests 自动还原的信息
最后找了一个其它能自动还原的项目一比较。发现在.csproj文件中缺少
最后手动修改了 mytests.csproj 文件,在
下面加上
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
然后在jenkins上,此项目的 nuget 就自动还原了。
一定要注意 Import 的 Project 属性,是当前项目文件(.csproj)相对于nuget.targets的路径。
我的单元测试项目是在 test 目录下,源码在 src 下 ,src 和 test 是兄弟目录,.nuget目录(文件 nuget.exe / nuget.target / nuget.config)也在src目录下
所以,我在mytest.csproj文件开头的PropertyGroup属性中,添加了下面这段Property。这个 SolutionDir 在 上面
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> 中用到。
我的SolutionDir值指向的地址是..\..\src\,这样就把目录指向src了,路径就对了。(当前目录是.csproj文件所在目录。上级是 test ,再上级是 test和src的父目录,所以 ..\..\src 就到src下面了)
在 VS 上一切正常,可以跑起来。
当放到 Jenkins 上,死活不还原。查看Jenkins的输出日志,没有找到任何 mytests 自动还原的信息
最后找了一个其它能自动还原的项目一比较。发现在.csproj文件中缺少
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
最后手动修改了 mytests.csproj 文件,在
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
下面加上
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
然后在jenkins上,此项目的 nuget 就自动还原了。
一定要注意 Import 的 Project 属性,是当前项目文件(.csproj)相对于nuget.targets的路径。
我的单元测试项目是在 test 目录下,源码在 src 下 ,src 和 test 是兄弟目录,.nuget目录(文件 nuget.exe / nuget.target / nuget.config)也在src目录下
所以,我在mytest.csproj文件开头的PropertyGroup属性中,添加了下面这段Property。这个 SolutionDir 在 上面
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> 中用到。
我的SolutionDir值指向的地址是..\..\src\,这样就把目录指向src了,路径就对了。(当前目录是.csproj文件所在目录。上级是 test ,再上级是 test和src的父目录,所以 ..\..\src 就到src下面了)
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\src\</SolutionDir>
相关文章推荐
- 使用Eclipse发布一个依赖于其他项目的java项目,被依赖的项目不能自动编译,因而引发notfoundClass的异常。
- VS2012使用NUGet自动下载(还原)项目中使用的包
- 使用NUGet自动下载(还原)项目中使用的包
- 在CI (Jenkins) 从机(服务器)上使用bat批处理执行自动构建任务时,输出NuGet还原失败的解决方案
- 使用NUGet自动下载(还原)项目中使用的包
- eclipse里创建android项目时R文件不能自动创建
- OpenCV学习笔记(26)自动识别OpenCV版本并添加依赖库
- 【转载】 MyEclipse Web项目不能自动编译
- .net项目配置文件导致runat="server"无效,不能自动生成声明代码的问题
- android项目中gen目录不能自动生成的原因
- 基于Jenkins 实现php项目的自动化测试、自动打包和自动部署 推荐
- android 项目中的res 资源 不能在R.java自动生成ID 的解决方法
- 解决eclipse下android项目不能自动生成R.java文件
- Eclipse 或 MyEclipse 不能自动编译 class文件及不能识别项目
- Jenkins 自动部署 项目
- 项目不能自动部署到用户tomcat问题
- jenkins 通过批处理自动构建 非标准项目
- ubuntu笔记-自动下载依赖安装包
- 【博客项目笔记】ckeditor不能正常显示的问题