ソリューションに X プロジェクトがあります: AllPlatformProject1、AllPlatformProject2... ProjectOnlyForWindows1、OnlyForWindows2... ProjectNotLinux1、ProjectNotLinux2...
「 OnlyForWindows」と「NotLinux 」を除外したいのですが、どうすればよいですか? xbuild を使用して、すべてのターゲットに対して実行できるようにしたいと考えています。
1つのslnではできません。通常、同じディレクトリ内であっても複数のソリューションを作成します。
Everything.sln
WindowsCentric.sln
LinuxCentric.sln
そんな感じ。
「問題」は……「プロジェクトごとの参照」を追加する場合、両方のプロジェクトが .sln ファイルに含まれている必要があるということです。
異なる構成を使用してターゲットとペアリングし、特定のプロジェクトから構成を省略しようとしましたか? 例:
ソリューション構成:
LinuxDebug
LinuxRelease
WindowsDebug
WindowsRelease
次に、Windows* 構成から Linux プロジェクトを除外するようにソリューションに指示しますか? その逆も同様です?
私は xbuild を利用していないことを認めますが、トラバーサル プロジェクト ファイルではなくソリューションを使用している場合、このアプローチは MSBuild で機能します。Traversal proj ファイルの場合、条件を ItemGroup 包含に追加するだけで、$() プロパティに基づいてプロジェクトを省略できます。