0

背景: 複数のプロジェクトを含む単一の .NET ソリューションがあります。そのうちのいくつかは .NET Framework に対してコンパイルされ、一部は .NET Core (UWP) に対してコンパイルされます。Visual Studio Team Services (旧 Visual Studio Online) を使用して、ソリューションを継続的に構築しています。

課題: UWP プロジェクトには、異なる MSBuild 引数とプラットフォーム設定が必要です。以下のスクリーンショットのようにビルド定義を作成しました。ソリューションは最初に .NET 引数を使用してビルドされます。次に、すべての UWP プロジェクトに MSBuild ステップがあります。

問題: UWP プロジェクトを追加、削除、または名前変更するたびに、ビルド定義を更新する必要があります。理想的には Visual Studio ビルド ステップを使用し、カスタム スクリプトを使用せずに、UWP プロジェクトを自動的に選択したいと考えています。何か案は?

ここに画像の説明を入力

代替案: もともと、ソリューションを 2 つ (プラットフォームごとに 1 つのソリューション) に分割し、各ソリューションに対して 2 つの異なる Visual Studio Build イベントを実行していました。ただし、1 つのソリューションで作業することを好みます。

4

2 に答える 2

2

カスタム スクリプトなしでこれを実現する簡単な方法はありません。

MSBuild プロジェクト ファイルを作成し、次のように個別の引数を使用してプロジェクトを追加してみてください。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
    <MSBuild Projects="Project1.csproj" Properties=Arguments1/>
    <MSBuild Projects="Project2.csproj" Properties=Arguments2/>
</Target>
</Project>

次に、ビルド定義でプロジェクト ファイルをビルドするだけです。ただし、これには、プロジェクトを追加/変更したときに MSProject ファイルを更新する必要があります。

于 2016-02-25T09:18:11.447 に答える
0

Msbuild ステップはワイルドカードをサポートしているため**/*.uwp.csproj、プロジェクトがこの命名パターンに従っている場合はビルドするように設定できます。

于 2016-12-29T11:58:28.810 に答える