msbuild - TFS 2010 构建的项目上忽略了 OutputPath

标签 msbuild continuous-integration

我已使用默认设置安装了 TFS2010 Beta 2,并使用包含各个项目的解决方案配置了 CI 构建。

我的 *.cspoj 文件可能有:

<OutputPath>bin\debug\</OutputPath>

或者:

<OutDir>bin\debug\</OutDir>

当构建服务器完成构建和运行测试等后,所有程序集都将放置在构建放置文件夹的根目录中。

如何配置构建以将输出路径或 outdir 保留在我的项目中并将程序集和内容存储在匹配的文件夹结构( builddropfolder\bin\debug\)中?

我发现了很多关于此问题的帖子,其中大多数与 TFS 2008 有关,但我还没有找到 TFS 2010 的解决方案。

也许可以在构建服务器的新工作流程文件中解决这个问题?

最佳答案

接受的答案(来自博客)需要修改项目文件以应对所需的行为。但如果您只是希望 TFS Build 不更改项目的 OutputPath,那么

编辑构建模板(最好根据默认值创建您自己的自定义模板并在构建配置中使用它)。

查找负责编译项目的 条目(模板中有多于 1 个) - 应按“编译项目”顺序。

将 OutDir 参数设置为空。

保存并 checkin 更改。

适用于 TFS 2012,但也可能适用于其他版本。

关于msbuild - TFS 2010 构建的项目上忽略了 OutputPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2287716/

相关文章:

continuous-integration - 为什么 Jenkins 告诉我升级到 Hudson?

c# - .csproj 文件无法正确导入其他项目

C++ 可执行文件继续寻找序号入口点

msbuild - 如何使用 MSBuild 和 MS Virtual Server 和/或 Hyper-V Server Virtualization 创建虚拟机作为构建过程的一部分?

java - Coq 作为持续集成的一部分

github - 在工作流/Github操作之间共享工件

silverlight - 如何从命令行执行Silverlight单元测试

azure - 在 Azure Pipelines 中出现错误时继续(但仍报告为错误)

c# - 命令提示符下的 MsBuild 未生成 FakeAssemblies

c# - 未构建 csproj 时抑制 AfterBuild 目标