Задача CSpack является частью Microsoft.CloudService.Targets msbuild-файла. При установке по умолчанию это в
C: \ Program Files (x86) \ MSbuild \ Microsoft \ CloudService \ 1.0 \ Visual Studio 10 \
Ссылку на это вы увидите в любом проекте .ccproj (облачный сервис)
<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\Cloud Service\1.0\Visual Studio 10.0\</CloudExtensionsDir>
<Import Project="$(CloudExtensionsDir)Microsoft.CloudService.targets" />
Оттуда вы можете получить базовый формат и несколько вариантов. Как пример, это цель CorePublish, использующая ее
<CSPack
ServiceDefinitionFile="@(ServiceDefinitionCopy)"
Output="$(OutDir)Publish\$(ProjectName).cspkg"
PackRoles="@(Roles)"
SiteMapping="@(SiteMapping)"
RoleProperties="@(RoleProperties)"
CopyOnly="false"
>
</CSPack>
Мы используем этот способ для создания наших облачных пакетов. Если здесь есть конкретный сценарий, по которому вам нужен совет, предоставьте эту информацию. Наше использование довольно распространено, мы просто (как и вы) не были заинтересованы в использовании msbuild для вызова из командной строки.
Так что сложив все воедино, можно просто выдать
msbuild MyAzureProject.ccproj /t:CorePublish
или если у вас есть решение с многоуровневыми папками проектов и вы хотите упаковать биты выпуска
msbuild MyAzureProject\MyAzureProject.ccproj /t:CorePublish /Property:SolutionDir=..\ /p:Configuration=Release