我已经设法在我的构建服务器上运行构建,但现在问题是输出文件夹中的输出包含所有项目的所有输出,而不仅仅是wix项目的输出。
知道如何改变这个吗?
TIA
答案 0 :(得分:0)
如果您只对msi作为构建输出感兴趣,那么您可以在团队构建中创建一个步骤,将安装程序文件复制到另一个位置,添加到构建项目中的以下构建目标应该有所帮助。
这会覆盖目标AfterDropBuild
<Target Name="AfterDropBuild">
<PropertyGroup>
<InstallerDir>$(DropLocation)\$(BuildNumber)\Installers</InstallerDir>
</PropertyGroup>
<Message Importance="low" Text="InstallerDir=$(InstallerDir)" />
<MakeDir Directories="$(InstallerDir)" Condition="!Exists('$(InstallerDir)')" />
<CreateItem Include="$(BinariesRoot)\**\*.msi">
<Output TaskParameter="Include" ItemName="InstallationFiles"/>
</CreateItem>
<Copy SourceFiles="@(InstallationFiles)"
DestinationFolder="$(InstallerDir)"/>
</Target>
答案 1 :(得分:0)
我创建了不同的解决方案平台{Application,Setup}并将我的.NET项目设置为使用应用程序和我的wix来构建设置。然后我告诉构建定义按顺序构建这两个平台。结果是TFS将.NET代码存档在一个应用程序文件夹中,该文件夹看起来像部署的机器和安装文件夹中的MSI。
唯一的缺点是,当您添加新项目时,您必须选择要在配置管理器中构建的平台。我的开发人员似乎对此并不感到恼火。