Как добавить дополнительные файлы в пакет, созданный msbuild, вызываемый проектом группы ресурсов Azure в Visual Studio

Итак, у меня есть решение, состоящее из веб-проекта и проекта группы ресурсов Azure, очень похожее на то, что описано здесь: https://blogs.technet.microsoft.com/georgewallace/2015/05/10/deploying-a-website-with-content-through-visual-studio-with-resource-groups/

Проблема, с которой я столкнулся, заключается в том, что веб-проект должен включать некоторые файлы EXTRA в свой каталог bin для работы. Теперь, используя обычный процесс упаковки в самом веб-проекте, я достигаю этого, добавляя настраиваемую цель и подключаясь к CopyAllFilesToSingleFolderforPackageDependsOn, например:

  <PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>
  </PropertyGroup>

  <Target Name="CustomCollectFiles">
    <ItemGroup>
      <_CustomFiles Include="bin\SlimKIA.WebApi.xml" />
      <FilesForPackagingFromProject  Include="%(_CustomFiles.Identity)">
        <DestinationRelativePath>bin\SlimKIA.WebApi.xml</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>

И когда я щелкаю правой кнопкой мыши по веб-проекту и говорю «опубликовать», скажем, в файловой системе, мой файл включается. Все хорошо.

Проблема в том, что этого не происходит при развертывании из проекта развертывания. У меня есть ресурс MsDeploy, который занимается своими делами. Мне нужно как-то сделать мои CustomCollectFiles из этого проекта.

У кого-нибудь есть идеи, как это сделать? Без этого я не смогу автоматизировать развертывание моего решения в Azure.

Спасибо!


person Dan    schedule 27.10.2016    source источник
comment
Вы строите веб-проект отдельно? Или вы создали ссылку на веб-проект в deployproj? По сути, вы хотите убедиться, что цель вызывается при сборке ... Я предполагаю, что цель не вызывается при сборке deployproj.   -  person bmoore-msft    schedule 28.10.2016
comment
Я создал ссылку на веб-проект из проекта развертывания. Вы были правы, цель не вызывалась, поэтому я опубликовал то, что, как я нашел, является решением ниже, используя PropertyGroup msdeploy, на которое будет обращать внимание.   -  person Dan    schedule 28.10.2016


Ответы (1)


По прихоти я сделал это:

  <PropertyGroup>
    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForMsdeployDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
  </PropertyGroup>

Ключ - CopyAllFilesToSingleFolderForMsdeployDependsOn вместо CopyAllFilesToSingleFolderForPackageDependsOn. Просто изменив этот трюк, я думаю, что вызвало запуск msdeploy для включения настраиваемой цели.

person Dan    schedule 28.10.2016