Установите TargetProfile для проекта Azure

Я получаю следующую ошибку из сборки, которую я запускаю через TeamCity на моей машине разработки:

[ResolveServiceConfiguration] WATMessage
[16:02:05][WATMessage] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\1.7\Microsoft.WindowsAzure.targets(354, 5): No default service configuration "ServiceConfiguration.cscfg" could be found in the project.
[16:02:05][Xxx.Azure.Production\Xxx.Azure.Production.ccproj] Project Xxx.Azure.Production\Xxx.Azure.Production.ccproj failed.

То же самое решение строит хорошо в VS.NET.

Я думаю, что мне нужно сделать TargetProfile для каждого из проектов Azure (более одного жалобы), чтобы переопределить значение по умолчанию Cloud, но я не могу узнать, где это сделать.

Итак, как установить целевой профиль для проекта Azure?

Ответ 1

Чтобы обойти эту проблему, я создал ServiceConfiguration.Cloud.cscfg для каждого проекта Azure, используя .cscfg, который был установлен в определении.

Ответ 2

Вы пытались установить целевой профиль в командной строке?

/p:TargetProfile=MyProfile

Ответ 3

Учитывая конфигурационный файл службы Azure с именем "ServiceConfiguration.Production.cscfg":

  • В конфигурации сборки проекта TeamCity перейдите к разделу "Сборка параметров" (шаг 7).
  • Добавьте системное свойство с именем "system.TargetProfile" и значением "Production"

Этот шаблон применяется для любой именованной конфигурации в формате ServiceConfiguration. [ваш профиль].cscfg.

Ответ 4

В моем случае я переименовал файл ServiceConfiguration.Cloud.csfg, и поскольку агент сборки сначала ищет этот файл, потому что по умолчанию TargetProfile является "облаком", мне пришлось заново создать файл ServiceConfiguration.Cloud.csfg в том же месте, затем зашел в файл .ccproj и добавил эту строку под <ItemGroup> node:

<ServiceConfiguration Include="ServiceConfiguration.Cloud.csfg" />

Затем я восстановил и проблема была решена.