VSTS构建项目参考其他解决方案

时间:2018-04-12 11:02:07

标签: msbuild azure-devops azure-pipelines

我有一个包含两个解决方案的存储库。一个Web项目的解决方案(在本例中为解决方案A),该项目在第二个解决方案中引用了一个项目(在本例中为解决方案B)(在同一个存储库中)。

当我在VSTS中构建Web项目时,我拉出存储库,构建解决方案B,然后构建解决方案B.

构建解决方案B工作,但是,解决方案A的构建失败,因为解决方案B中的项目的引用dll未找到

2 个答案:

答案 0 :(得分:1)

您有几个选择:

1)使用项目参考。您不需要依赖于程序集。

2)使用NuGet包 - 共享片段通过CI过程构建,转换为NuGet包,然后发布到Packages feed。依赖项目可以引用NuGet包并在构建时恢复适当的版本。

您应该采取哪种方法取决于很多因素。如果您不担心版本控制,只需使用项目引用。

答案 1 :(得分:1)

Daniel表示最好使用NuGet包。

关于直接引用程序集文件,请参考以下步骤:

  1. 通过记事本
  2. 打开您的网络项目文件
  3. 找到相关参考并检查Hintpath值,应该是相对路径。
  4. 将复制文件任务添加到构建定义(构建解决方案A任务之前),将相应的程序集文件复制到相应的文件夹(每个相对路径)