2012-07-23 67 views
6

我有一个TFS 2010安装与Visual Studio 2010(也安装在服务器),我创建了一个C#项目的构建定义。生成最终成功,但我没有在我的drop文件夹的.exe文件,但我可以找到DLL但是,TFS 2010没有exe文件复制成功后生成

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

回答

1

感谢您的回复,这正是问题所在,其中一个项目被设置为“x86 “而不是”AnyCPU“,我在组织二进制文件夹(默认情况下TFS将所有内容放在同一个文件夹中,因此难以看到)之后注意到:使用该帖子:http://lajak.wordpress.com/2011/05/07 /定制 - 二进制文件夹功能于TFS-团队构建/。

现在问题已解决。感谢您的帮助,祝您有美好的一天。

+0

伊门,如果它已经奏效,你应该将其中一个答案标记为接受的答案(可能是James Reed的答案)。 – Fabio 2012-10-16 13:35:39

1

的TFS-构建的整个流程可以,如果你排队一个新的版本&设置Verbosity = diagnostic
一旦生成结束后,打开它,并选择“查看日志”来观察。

A BinariesDirectory的值在Initialize Binaries Directory之内。
另一个名为OutputDirectory的变量的值在Initialize OutputDirectory之内,基于BinariesDirectory
MSBuild将结果放入此OutputDirectory
最后,在Copy Files to Drop Location之下的所有内容都被复制到放置位置。

这样做的活动是Microsoft.TeamFoundation.Build.Workflow.Activities.CopyDirectory,它不关注任何扩展 - 它只是复制整个目录。

为了体验什么要报告,你可能会使用非默认的构建过程模板XAML,或您的MSBuild参数以某种方式改变,或* EXE-的csproj有一个硬编码输出路径。
在任何情况下,如果你跟踪上面描述的生成日志,你应该能够找到罪魁祸首。
祝你好运!

6

这可能是您的配置生成问题。

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

你应该为每一个平台设置一个“平台”,再加上一个用于“混合平台”的“平台”,它将构建所有的项目。

现在检查您的构建定义。查看进程选项卡并查看“要构建的项目”设置,确保您正在构建“发布|混合平台”。如果你只是得到你的生成输出的DLL,我怀疑你的版本设置为“Release | AnyCPU”

+0

是的,很有可能 – pantelif 2012-07-23 19:54:05

+0

亲爱的所有人,感谢您的回复,这正是项目设置为“x86”而不是“AnyCPU”的问题,我在组织bianries文件夹后注意到(默认情况下,TFS puts在相同的文件夹中出现错误,所以很难看清楚)使用帖子: – Imen 2012-07-24 07:14:59