我正在使用 WIX 在 TFS 服务器上为我的项目创建 setup.msi。我将 WIX 项目添加到解决方案中。
首先,在我将 WIX 项目添加到我的解决方案之前,Team Build 将所有项目程序集输出到我的放置文件夹,这非常好。
但是现在,一旦我添加了安装程序项目,我希望 Team Build 只将我的 .msi 而不是项目程序集输出到我的放置文件夹。
我想我缺少一些配置设置。你能建议这里可能有什么问题吗?
好心提醒。
团队构建正在输出 .msi 以及所有项目程序集
据我了解,您的构建工作正常。您只希望您的 Build Drop 文件夹包含 MSI 而没有其他文件。
如果使用 Team Build 2008,实现此目的的方法是<Target>
向您的TFSBuild.proj
文件添加一个覆盖内置CoreDropBuild
目标的新文件。
<Target Name="CoreDropBuild"
Condition=" '$(IsDesktopBuild)'!='true' and '$(SkipDropBuild)'!='true' "
DependsOnTargets="$(CoreDropBuildDependsOn)" >
<!-- Copy output MSI files -->
<CreateItem Include="$(BinariesRoot)\**\*.msi" >
<Output ItemName="FilesToCopy" TaskParameter="Include" />
</CreateItem>
<Copy
SourceFiles="@(FilesToCopy)"
DestinationFiles="@(FilesToCopy ->'$(DropLocation)\$(BuildNumber)\%(RecursiveDir)%(Filename)%(Extension)')"
ContinueOnError="true" />
</Target>
据我所知,除了关闭复制到放置位置,然后编写您自己的自定义过程来仅复制您想要的文件之外,没有其他方法可以完成此操作。遵循 Grant 的 Team Build 2008 或 2010 解决方案。对于 TFS2012,您需要创建一个包含此自定义文件副本的自定义模板。