6

我正在安装 TFS 2010 和 Visual Studio 2010(也安装在服务器中),我为 C# 项目创建了构建定义。构建最终成功,但我的放置文件夹中没有 .exe 文件,但是我可以找到 dll,

有没有人遇到过同样的问题?

4

3 回答 3

6

这可能是您要构建的配置的问题。

在解决方案资源管理器中,右键单击解决方案并选择“配置管理器”。这将显示解决方案中所有项目的列表。创建“EXE”的项目可能设置为“x86”,创建“DLL(s)”的项目可能设置为“AnyCPU”。

您应该为其中的每一个提供一个“平台”,以及一个用于构建所有项目的“混合平台”的“平台”。

现在检查您的构建定义。查看流程选项卡并查看“要构建的项目”设置,确保您正在构建“发布|混合平台”。如果您在构建输出中仅获得 dll,我怀疑您的构建设置为“Release|AnyCPU”

于 2012-07-23T15:35:46.517 回答
1

如果您对新的构建和设置进行排队,则可以观察到 TFS-Build 的整个流程Verbosity = diagnostic
构建结束后,打开它并选择“查看日志”。

ABinariesDirectory在 内获得它的值Initialize Binaries Directory
另一个名为的变量在基于的东西中OutputDirectory获取它的值。MSBuild 将结果放入此. 最后,在下面的所有内容都被复制到放置位置。执行此操作的活动不关注任何扩展 - 它只是复制整个目录。Initialize OutputDirectoryBinariesDirectory
OutputDirectory
Copy Files to Drop LocationBinariesDirectory

Microsoft.TeamFoundation.Build.Workflow.Activities.CopyDirectory

为了体验您所报告的内容,您可能正在使用非默认构建过程模板 XAML,或者您的 MSBuild 参数以某种方式更改,或者 *exe-csproj 具有硬编码的输出路径。
无论如何,如果您如上所述跟踪构建日志,您应该能够找到罪魁祸首。
祝你好运!

于 2012-07-23T09:24:22.787 回答
1

感谢您的回复,这正是问题所在,三个项目之一被设置为“x86”而不是“AnyCPU”,我在组织二进制文件夹后注意到(因为默认情况下 TFS 将所有内容放在同一个文件夹中,所以它可以很难看到)使用帖子:http://lajak.wordpress.com/2011/05/07/customize-binaries-folder-in-tfs-team-build/。

现在问题已经解决了。感谢您的帮助,祝您有愉快的一天。

于 2012-07-24T07:17:49.910 回答