Как запустить приложение в эмуляторе Azure в режиме разработки без Visual Studio
Мне нужно привлечь некоторых людей, занимающихся разметкой и JavaScript, чтобы помочь команде разработчиков в проекте Azure asp.net MVC.
По сути, мне нужно, чтобы каждый человек запускал локальный экземпляр приложения Azure, чтобы иметь возможность вносить изменения в файлы содержимого (chtml/css/js) и тестировать / отлаживать их, как если бы он запускался в VisualStudio (Ctrl+F5).).
Хотя легко предоставить исходный код всем сторонам, чтобы у каждого человека была своя рабочая копия - мы используем svn, я столкнулся с проблемой запуска локальной копии приложения в dev fabric.
Я не хочу устанавливать Visual Studio для всех, потому что это отнимает много времени и слишком дорого только для запуска dev fabric. Эти люди не используют VisualStudio для html/css/js. И все необходимые инструменты доступны с использованием SDK: MSBuild, Azure, WIF, что угодно.
Мне даже удалось запустить Dev Fabric с приложением, используя
MSBuild.exe Azure\Azure.ccproj /t:Publish
CSRun.exe Azure\csx\Debug Azure\bin\Debug\ServiceConfiguration.cscfg
Все работает хорошо, кроме одной вещи - файлы содержимого копируются под Azure\obj\Debug\WebRole
папка вместе со всеми двоичными файлами.
Это отличается от сборки VisualStudio - там папка содержит только двоичные файлы, а файлы содержимого остаются на своих местах. Это гораздо более удобный способ внесения изменений, поскольку файлы не только сразу же доступны для отладки после сохранения, но также могут быть легко извлечены / извлечены из системы контроля версий.
Я просмотрел справочник по CSPack и наверняка должен разрешить сценарий, который мне нужен, но сложно понять, как этого добиться. Я подозреваю, что должен быть способ сделать такое развертывание, используя MSBuild (поскольку VisualStudio в значительной степени полагается на него для всех действий по сборке / развертыванию), но я не могу найти способ сказать ему, что я хочу.
Кто-нибудь знает либо правильный способ запуска CSPack для повторения сценария развертывания отладки VisualStudio, либо правильные цель / параметры для MSBuild для запуска проекта Azure так же, как VisualStudio?
Может быть, есть способ просмотреть текущую командную строку, выполняемую внутри сборки VisualStudio?
2 ответа
Хорошо, после нескольких часов копания в Microsoft.WindowsAzure.targets и некоторых дополнительных танцев с бубном я нашел магические переключатели:
MSBuild.exe Azure\Azure.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False
Это приложение пакетов, как VisualStudio. Обратите внимание, что логика построения лазури различает цели Build
а также Publish
и применяет различные правила в зависимости от того, было ли указано одно, другое или оба. По моему сценарию это должно было быть Build
(по умолчанию) только.
Или вы пытались передать p:PublishDir=Directory
в вашем оригинальном примере аргумента msbuild, например:
/t:Publish /p:PublishDir=\\\mydroplocation\cloudpackage\