在具有共享输出的各种项目中维护NuGet库版本

时间:2015-04-15 12:12:46

标签: visual-studio-2013 msbuild nuget nuget-package bin

我在每个地方都有两个项目:

  

项目A(C:\ GitRepository \ xxx \ yyy \ zzz \ ProjectA.sln

     

Project A包(C:\ GitRepository \ xxx \ yyy \ zzz \ packages

     

项目B(C:\ GitRepository \ xxx \ yyy \ sss \ ProjectB.sln

     

Project B软件包(C:\ GitRepository \ xxx \ yyy \ sss \ packages

     

两个项目都有一个共同的输出(C:\ GitRepository \ xxx \ bin) - 这是强制性的

当一个团队创建项目并将NuGet包添加到项目时(默认情况下下载新包)。然后将此项目添加到SolutionA。我们得到AutoMapper在rev中的情况。例如。 SolutionA和其他版本中的20。例如。解决方案B中的19。

编译项目时,Jenkins MSBuild Build Project A获取缺少的包rev。 20,项目B已经有一个包19,但它需要更新的版本20。读取库的正确版本时出错。

解决方案:

  1. 一种解决方案是从引用指定版本中删除属性,但您希望保留共享库。

  2. 团队提出了一个解决方案来制作一个这样的项目。 NuGetRepository只能通过这个项目将库添加到输出中。其他项目必须托管从NuGetRepository.csproj构建的库,可以通过文件访问,而不是项目引用。我们希望在每个项目中保留一个版本而不会发生冲突。

  3. 解决方案2好吗?

0 个答案:

没有答案