Экспорт (0) Печать
Развернуть все

Средство командной строки CSPack

Обновлено: Ноябрь 2013 г.

Средство командной строки CSPack (CSPack.exe) готовит приложения для развертывания. Способ использования CSPack зависит от места, где планируется развернуть приложение.

  • Чтобы подготовить приложение к развертыванию в эмулятор среды Windows Azure, с помощью CSPack скопируйте двоичные файлы в структуру каталогов.

  • Чтобы подготовить приложение к развертыванию в Windows Azure, с помощью CSPack следует создать файл пакета, который затем загружается в Windows Azure.

  • Дополнительные сведения о преобразовании существующих пакетов к новому формату пакетов см. в разделе Формат пакета Windows Azure.

Расположение средства

Если файлы пакета Windows Azure SDK установлены в папку по умолчанию, в версии 1.7 Windows Azure SDK и более поздних версиях средство CSPack находится в папке C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\<sdk-version>\bin. В пакете Windows Azure SDK версии 1.6 и более ранних версиях CSPack устанавливается в папку C:\Program Files\Windows Azure SDK\<SDK version>\bin\.

Синтаксис командной строки

CSPack <DefinitionFile> [options]

Параметры

В следующей таблице приводятся параметры CSPack. Для просмотра используемого списка параметра введите CSPack /? в командной строке из каталога установки.

 

Параметр Описание

/out:<file> | directory>

Этот параметр задает формат вывода и расположение для двоичных файлов роли.

Когда вместе с этим параметром указан параметр /copyOnly, CSPack создает именованный выходной каталог и копирует в него двоичные файлы роли.

Если параметр /copyOnly не указан, этот параметр задает имя файла для пакета приложения. Если имя файла не указано, пакет приложения создается как <service-definition-file-name.cspkg>.

/copyOnly

Если этот параметр указан, CSPack создаст структуру каталогов для двоичных файлов роли, которые эмулятор вычислений использует для запуска приложения локально.

Если с параметром /out не указано расположение вывода, то CSPack создаст каталог с именем <каталог service-definition-file-name.csx>.

/role:<RoleName>;[<RoleBinariesDirectory>];[<RoleEntryPointDLL>]

Если этот параметр указан, CSPack создаст структуру каталогов для двоичных файлов роли, которые эмулятор вычислений использует для запуска приложения локально.

Если с параметром /out не указано расположение вывода, то CSPack создаст каталог с именем <каталог service-definition-file-name.csx>.

/roleFiles:<RoleName>;<RoleFileList>

Этот параметр указывает файл, который содержит набор путей к файлам, составляющим роль. Командная строка может включать один параметр /roleFiles для каждой, обозначенной в файле определения роли.

Для указания библиотеки DLL, которая определяет точку входа роли, используйте параметр /rolePropertiesFile вместе с параметром /roleFiles.

Параметр <RoleFileList> указывает простой локальный текстовый файл, где каждая строка имеет следующий формат:

<InputPath>;<TargetPath>

<InputPath> может быть абсолютным или относительным путем к файлу, составляющему роль. Если <InputPath> относительный, то он относителен относительно расположения файла, указанного в <RoleFileList>.

<TargetPath> — это относительный путь, указывающий, куда следует поместить в пакете службы файл, на который указывает <InputPath>.

Если задан параметр /roleFiles, не следует указывать параметр /role.

/rolePropertiesFile:<RoleName>;<RolePropertyFile>

Этот параметр указывает файл, содержащий список свойств для роли. Параметр /rolePropertiesFile должен быть указан вместе с параметром /roleFiles. В файле свойств роли можно указать библиотеку DLL, содержащую точку входа в роль, и версию целевой платформы .NET, в которой эта роль должна выполняться.

Параметр <RolePropertyFile> указывает простой локальный текстовый файл, где каждая строка имеет следующий формат:

<PropertyName>=<PropertyValue>

Подробнее о допустимых именах свойств и значениях см. в разделе Замечания.

/sitePhysicalDirectories:<RoleName>;<VirtualPath1>;
<PhysicalPath1>;<VirtualPath2>;<PhysicalPath2>;…

Этот параметр позволяет определять физические каталоги для всех виртуальных путей, определенных в разделе Sites. Каждый элемент узла, виртуального каталога и виртуального приложения создает виртуальный путь (также называемый путем расположения в элементе расположения web.config).

Дополнительные сведения об использовании элемента Site см. в разделе Настройка записи сайта в файле определения службы.

/sites:<RoleName>;<SiteName>;<VirtualPath1>;
<PhysicalPath1>;…

Этот параметр позволяет сопоставить содержимое физических каталогов с содержимым виртуальных каталогов веб-сайта. Каждый элемент узла, виртуального каталога и виртуального приложения добавляется в том порядке, в каком определено создание виртуальных путей для них (также называемых путями размещения в элементе расположения web.config).

VirtualPath1 сопоставляется с именем сайта, как определено атрибутом name элемента <Site> в файле определения службы.

PhysicalPath1 — это расположение содержимого Site.

/generateConfigurationFile:<ConfigurationFile>

Этот параметр используется для создания каркасного файла конфигурации для приложения. Созданный файл можно изменить для указания значений параметров и количества экземпляров ролей в приложении до его развертывания.

/allowLegacyWebRoles

Этот флаг подавляет предупреждения, которые возникают для пакета, содержащего прежние веб-роли, работающие в размещаемом веб-ядре. Выполнять экземпляры роли в размещаемом веб-ядре можно с помощью этого параметра или добавив элемент Sites к определению службы.

/useCtpPackageFormat

Этот параметр указывает, что пакет форматирован в новом формате пакетов. Информацию об использовании нового формата см. в разделе Использование CSPack для создания пакета в новом формате.

/convertToCTPPackage

Этот параметр указывает, что имеющийся пакет должен быть конвертирован в новый формат пакетов. Дополнительные сведения см. в разделе Преобразование существующего пакета в новый формат.

Замечания

Можно указать следующие свойства в файле свойств роли.

noteПримечание
Сталкиваетесь с затруднениями при просмотре этого раздела в библиотеке Windows Azure? Попытайтесь открыть его в библиотеке MSDN.

 

Имя свойства Значение свойства Примеры.

TargetFrameWorkVersion

Число, обозначающее версию .NET Framework, в которой предстоит выполнять эту роль. Формата этого параметра свойства — TargetFrameWorkVersion=vMajor.Minor, где Major соответствует старшему разряду версии, а Minor — младшему.

TargetFrameWorkVersion=v4.0

TargetFrameWorkVersion=v3.5

EntryPoint

Имя библиотеки DLL, которая служит точкой входа в роль. Формат этого параметра свойства — EntryPoint=DLLFileName, где DLLFileName — строка, указывающая имя файла библиотеки DLL.

EntryPoint=myroleentrypoint.dll

ImportantВажно!
Если вызов к CSPack, работавший с пакетом Windows Azure SDK 1.1, завершается неудачей после обновления до пакета Windows Azure SDK 1.2 или более поздних версий, то проблема может быть вызвана неверным указанием версии целевой платформы .NET для CSPack. По умолчанию CSPack предполагает, что код службы был скомпилирован в .NET 3.5. Если код был скомпилирован в .NET 4, это следует указать, создав файл свойств роли и включив параметр /rolePropertiesFile в командной строке.

WarningПредупреждение
В пакете Windows SDK версии 1.5 и более поздних пакеты, созданные CSPack, больше не шифруются. Не рекомендуется хранить конфиденциальные данные в содержимом пакета.

Примеры.

В следующих примерах показано, как вручную упаковать несколько образцов Windows Azure SDK из командной строки с помощью CSPack.

В следующем примере показано, как упаковать образец HelloWorld для развертывания в среде разработки.


c:\samples\HelloWorld>cspack HelloWorld\ServiceDefinition.csdef /out:HelloWorld.csx /role:HelloWorld_WebRole;HelloWorld_WebRole /sites:HelloWorld_WebRole;Web;d:\HelloWorld_WebRole\HelloWorld_WebRole /copyOnly

В следующем примере показано, как упаковать образец HelloWorld для развертывания в Windows Azure.


c:\samples\HelloWorld>cspack HelloWorld\ServiceDefinition.csdef /out:HelloWorld.cspkg /role:HelloWorld_WebRole;HelloWorld_WebRole /sites:HelloWorld_WebRole;Web;d:\HelloWorld_WebRole\HelloWorld_WebRole

В следующих примерах показано, как упаковать образцы, содержащие рабочую роль.


c:\samples\HelloFabric>cspack HelloFabric\ServiceDefinition.csdef 
   /role:HelloFabric_WorkerRole;HelloFabric_WorkerRole\bin\Debug;HelloFabric_WorkerRole.dll 
   /out:HelloFabric.cspkg

c:\samples\Thumbnails>cspack ThumbnailsWorkerOnly\ServiceDefinition.csdef 
/role:Thumbnails_WorkerRole;Thumbnails_WorkerRole\bin\Debug;Thumbnails_WorkerRole.dll 
/out:ThumbnailsWorkerOnly.cspkg

В следующем примере показано, как упаковать образец, включающий как рабочую роль OrderProcessingRole, так и веб-роль FrontendWebRole.


C:\samples\MultiTierApp>cspack MultiTierApp\ServiceDefinition.csdef /out:MultiTierApp.cspkg
/role:FrontendWebRole;FrontendWebRole /sites:FrontendWebRole;Web;c:\MyDirectory\MultiTierApp\FrontendWebRole 
/role:OrderProcessingRole;OrderProcessingRole\bin\Debug;OrderProcessingRole.dll

См. также

Показ:
© 2014 Microsoft