【问题标题】:Visual Studio Online Include Custom AssembliesVisual Studio Online 包含自定义程序集
【发布时间】:2015-06-25 03:54:06
【问题描述】:

这是场景:

  • 在 Visual Studio Online 中
  • 单个项目集合 - DefaultCollection
  • 5 种不同的解决方案
  • 1 个解决方案依赖于其他 4 个解决方案
  • 尝试使用构建过程模板 TfvcContinuousDeploymentTemplate.12.xaml 以执行从 VSO 到 Azure Web 应用程序的自动部署
  • 需要构建前 4 个解决方案,以便构建第 5 个解决方案,但是无论我尝试什么,它都找不到依赖项。

这是我迄今为止尝试过的......

第一次尝试

  1. 在“源设置”中添加了 4 个额外的源代码管理路径
  2. 将 4 个附加解决方案(按顺序)添加到流程 -> 构建 - 项目
  3. 这是构建解决方案的唯一方式,但是,由于正在构建多个解决方案,因此会跳过持续部署。

第二次尝试

  1. 编译前 4 个并将它们复制到 Drop 文件夹中
  2. 将附加源代码管理路径设置为 Drop 文件夹
  3. 第 5 个解决方案构建失败,因为它找不到引用

第三次尝试

  1. 编译前 4 个并将它们复制到 Drop 文件夹中
  2. 将构建控制器上的 include 文件夹设置为 Drop 文件夹
  3. 第 5 个解决方案构建失败,因为它找不到引用

第四次尝试

  1. 编译前 4 个并将它们复制到 Drop 文件夹中
  2. 下载了 Drop 文件夹的内容,并将内容签入到第 5 个项目的 BuildProcessTemplates 文件夹的子目录中。
  3. 将构建控制器上的包含文件夹设置为签入文件夹
  4. 第 5 个解决方案构建失败,因为它找不到引用

有什么想法吗?我很茫然。

【问题讨论】:

  • cannot find references 到底是什么意思?是该解决方案的库/程序集引用还是项目引用?
  • 5 个解决方案中的项目找不到其他 4 个已编译解决方案(即 .dll 的)的库/程序集引用。因此,第 5 个解决方案将无法构建。

标签: c# visual-studio azure tfs azure-devops


【解决方案1】:

您所依赖的任何解决方案都应将其输出作为 Nuget 包发布到本地存储库。然后,您的其他解决方案可以依赖该包。

然后你可以控制依赖的版本。

【讨论】:

  • 啊,谢谢指点。根据你的智慧,这基本上就是我所做的。 1) 创建了一个 MyGet.org 帐户 2) 将我的依赖项作为 nuget 包添加到 MyGet.org 3) 将我的依赖项作为 nuget 包添加到第 5 个解决方案 4) 在解决方案上启用 nuget 下载 5) 将公共提要 url 添加到 Nuget .targets 文件。现在在编译时,MSBuild 可以毫无问题地找到这些包。再次感谢!
  • 您可以让其他解决方案的构建自动将其输出发布到 MyGet。
猜你喜欢
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
  • 2017-04-30
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多