Я пытаюсь создать пакет развертывания для моего веб-сервиса из msbuild так же, как вы можете сделать это в Visual Studio, щелкнув правой кнопкой мыши файл проекта.
Пакет прекрасно создан и помещен впапка / obj / Release / Packages в моем исходном каталоге для файла проекта.
Вы должны иметь возможность указать, где создается этот пакет, установив свойство PackageLocation в PropertyGroup внутри файла проекта.Однако это не работает для меня.Он по-прежнему помещает пакет в / 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, которое мы используем, чтобы указать проекту, куда поместитьпакет.
Мой вопрос: почему пакет все еще помещается в папку / obj / Release / Packages даже после указания PackageLocation?