【问题标题】:How do I make an automated build use same output folders as a manual build?如何使自动构建使用与手动构建相同的输出文件夹?
【发布时间】:2014-04-17 12:51:44
【问题描述】:

背景

目前我在很多 TFS 团队项目中有很多 C# 项目。

多个 C# 项目在不同的团队项目中引用 C# 项目。我通过引用另一个 C# 项目的 Bin/Release 文件夹中的输出 dll 来做到这一点。

只要我们以正确的顺序检查并构建团队项目中的解决方案,一切都可以在所有开发人员的机器上正常运行。

我们正在迁移到 Visual Studio Online,我正在尝试自动构建。

问题

我遇到的问题是它找不到要引用的 dll,即使在输出它们(到 \Bin\Release)的项目已经运行之后也是如此。

我已禁用并行构建(以确保首先构建引用的项目),这似乎是基于构建日志的情况。问题是依赖于这些的项目找不到 dll,因此我到处都收到“找不到类型或命名空间”错误。

解决这个问题的最简单方法是什么?


请注意,我已经阅读了几篇关于此的帖子/教程等,但似乎都涉及更改源代码控制结构,或摆弄工作区等。我想要一些东西,我可以在开发人员的机器上保留简单的工作区映射我们将“$\”映射到“C:\TFS\”。我不想记住定期合并来自共享库的更改,或者在工作区(在开发机器上)维护大量文件夹映射。

【问题讨论】:

  • 您使用云托管构建还是本地构建服务器?
  • 基于云的; Visual Studio Online。

标签: tfs msbuild azure-devops


【解决方案1】:

打开您的流程模板 xaml(通常是 DefaultTemplate.11.1.xamlTfvcTemplate.12.xaml 使用 XML 编辑器,而不是设计器)。在Run MSBuild for Project 活动中查找mtbwa:MSBuild。删除OutDir 属性,保存并签入。这将强制 MSBuild 为每个项目使用默认 OutDir。

【讨论】:

    猜你喜欢
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2019-08-10
    • 2017-05-20
    • 1970-01-01
    相关资源
    最近更新 更多