我在每个地方都有两个项目:
项目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。读取库的正确版本时出错。
解决方案:
一种解决方案是从引用指定版本中删除属性,但您希望保留共享库。
团队提出了一个解决方案来制作一个这样的项目。 NuGetRepository只能通过这个项目将库添加到输出中。其他项目必须托管从NuGetRepository.csproj构建的库,可以通过文件访问,而不是项目引用。我们希望在每个项目中保留一个版本而不会发生冲突。
解决方案2好吗?