ビルド サーバーでビルドを動作させることができましたが、出力フォルダー内の出力に、wix プロジェクトからの出力だけでなく、すべてのプロジェクトからのすべての出力が含まれているという問題があります。
これを変更する方法はありますか?
ティア
さまざまなソリューション プラットフォーム { Application, Setup } を作成し、アプリケーションでビルドするように .NET プロジェクトを設定し、セットアップでビルドするように wix を設定します。次に、これら 2 つのプラットフォームをこの順序でビルドするようにビルド定義に指示します。その結果、TFS は .NET コードを展開されたマシンのように見えるアプリケーション フォルダーにアーカイブし、MSI をセットアップ フォルダーにアーカイブします。
唯一の欠点は、新しいプロジェクトを追加するときに、構成マネージャーでビルドするプラットフォームを選択する必要があることです。ただし、私の開発者はそれに悩まされているようには見えません。
ビルド出力としての 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>