プロジェクトファイルを右クリックしてVisualStudioで実行できるのと同じように、msbuildからWebサービスの展開パッケージをビルドしようとしています。
パッケージは正常に作成され、プロジェクトファイルのソースディレクトリの下にある/ obj / Release/Packagesフォルダーに配置されます。
プロジェクトファイル内のPropertyGroupでPackageLocationプロパティを設定することにより、そのパッケージが作成される場所を指定できるはずです。しかし、それは私にはうまくいきません。それでも、パッケージはソースディレクトリの下の/ obj / Release/Packagesに配置されます。
これが私のプロジェクトファイルからのスニペットです:
<Import Project="$(SrcTreeRoot)\Build\TaskInit.Tasks" />
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<Import Project="$(SrcTreeRoot)\Build\TaskOverrides.Tasks" />
<PropertyGroup>
<Platform>Any Cpu</Platform>
<Configuration>Dev</Configuration>
<PackageLocation>$(PackageOutputDir)\MatrixOnCdsService\MatrixOnCdsService.zip</PackageLocation>
<PackageAsSingleFile>True</PackageAsSingleFile>
<EnablePackageProcessLoggingAndAssert>True</EnablePackageProcessLoggingAndAssert>
<!--OutDir>$(PackageOutputDir)\MatrixOnCdsService\</OutDir-->
</PropertyGroup>
また、次のセクションがあるMasterBuild.projを使用しています。
<PackageProject Include="..\Source\AnalysisSuite\MatrixOnCdsService\MatrixOnCdsService.csproj"/>
..。
<Target Name="Package">
<MSBuild Projects="@(PackageProject)" Targets="Package" Properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=true;
DeployTarget=Package;
PackageLocation=$(PackageLocation);"/>
</Target>
TaskInit.tasksは、パッケージを配置する場所をプロジェクトに指示するために使用するPackageOutputDirプロパティを含む独自のカスタムインポートファイルです。
私の質問は、PackageLocationを指定した後でも、パッケージが/ obj / Release / Packagesフォルダーに配置されているのはなぜですか?