Project プロパティの値が変数であり、その変数がターゲットで定義されるように、msbuild で Import ディレクティブを使用する方法はありますか?
現状では、インポート ディレクティブはどのターゲットよりも先に評価されるように思えます。
例えば:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishDir>none</PublishDir>
<AutomatedTestsTarget>none</AutomatedTestsTarget>
</PropertyGroup>
<Target Name="GetPublishDir">
...
</Target>
<Target Name="BeforeCompile" DependsOnTargets="GetPublishDir">
<PropertyGroup>
<AutomatedTestsTarget>$(PublishDir)\automated_tests.build</AutomatedTestsTarget>
</PropertyGroup>
</Target>
<Import Project="$(AutomatedTestsTarget)"/>
</Project>
フランケンソリューション
クイック ソリューション (コメントによる)、2 つの msbuild 呼び出し、最初にファイルを書き込みます。次に、この方法でインポートを行います (ファイルからパスを読み取ります)。
<PropertyGroup>
<AppRootDir>$([System.IO.File]::ReadAllText($(MSBuildProjectDirectory)\directory.txt))\..\automation\</AppRootDir>
</PropertyGroup>