2011-11-23 12 views
8

Necesito incluir algunas marcas y personas de JavaScript para ayudar al equipo de desarrollo en el proyecto azure asp.net MVC.Cómo ejecutar la aplicación en el emulador azul en el modo de desarrollo sin Visual Studio

Esencialmente, lo que necesito es que cada persona ejecute una instancia local de la aplicación azure para poder hacer cambios en los archivos de contenido (chtml/css/js) y probarlos/depurarlos, como si se iniciara en VisualStudio (Ctrl + F5).

Si bien es fácil proporcionar código fuente a todas las partes para que cada persona tenga su propia copia de trabajo - utilizamos svn, me encontré con un problema al ejecutar una copia local de la aplicación en dev fabric.

No quiero instalar Visual Studio para todo el mundo porque lleva mucho tiempo y es demasiado caro solo para iniciar dev fabric. Estas personas no usan VisualStudio para html/css/js. Y todas las herramientas necesarias disponibles usando SDK: MSBuild, Azure, WIF, lo que sea.

Incluso pude correr tela dev con la aplicación utilizando

MSBuild.exe Azure\Azure.ccproj /t:Publish 
CSRun.exe Azure\csx\Debug Azure\bin\Debug\ServiceConfiguration.cscfg 

todo funciona bien a excepción de la una sola cosa - los archivos de contenido están copiar de acuerdo con Azure\obj\Debug\WebRole carpeta junto con todos los archivos binarios.

Esto es diferente de la compilación de VisualStudio: allí la carpeta contiene solo archivos binarios, mientras que los archivos de contenido permanecen en sus lugares. Esta es una forma mucho más conveniente de realizar cambios porque los archivos no solo están disponibles de inmediato para la depuración una vez guardados, sino que también se pueden registrar o retirar fácilmente desde el control de origen.

He revisado CSPack referencia y seguro que debe permitir el escenario que quiero, pero es difícil averiguar cómo lograrlo. Sospecho que debe haber una forma de realizar dicha implementación utilizando MSBuild (siempre y cuando VisualStudio dependa en gran medida de todas las acciones de creación/implementación), pero parece que no puedo encontrar la forma de decirle lo que quiero.

¿Alguien sabe, ya sea la forma adecuada de ejecutar CSPack para repetir el escenario de despliegue de depuración de VisualStudio, o los objetivos/parámetros adecuados para que MSBuild ejecute el proyecto azul de la misma manera que VisualStudio?

¿Tal vez hay una manera de ver la línea de comandos real ejecutada dentro de la compilación de VisualStudio?

+1

Se siente como un peso pesado con el medio ambiente por sólo marcado/css/contenido. Puede ser más fácil tener un proyecto separado con lo que necesitan y luego integrar su trabajo con el resto sin conexión (o en el servidor de compilación). Mi 0.02. –

+0

Estoy de acuerdo. Si solo se trata de un sitio web con el que está trabajando, no hay ninguna razón por la que deba ejecutarse en el emulador.Si se trata de almacenamiento, puede apuntarlos a Azure en lugar de al almacenamiento de desarrollo y existen alternativas para casi todas las demás dependencias. – knightpfhor

Respuesta

4

Ok, después de unas horas de excavación en Microsoft.WindowsAzure.targets y un poco de baile con pandereta adicional encontré los interruptores de magia:

MSBuild.exe Azure\Azure.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False 

Esta paquetes de aplicaciones al igual que lo hace VisualStudio. Tenga en cuenta que la lógica de compilación azure distingue los objetivos Build y Publish y aplica reglas diferentes según se haya especificado una, otra o ambas. Para mi caso, debe haber sido Build (el valor predeterminado) solamente.

2

Alternativamente has necesitado pasar el p:PublishDir=Directory en su ejemplo argumento msbuild original, por ejemplo .:

/t:Publish /p:PublishDir=\\\mydroplocation\cloudpackage\ 
Cuestiones relacionadas