Quiero saber cómo publicar desde PowerShell de la misma manera que puedo desde Visual Studio.Cómo hacer exactamente la misma funcionalidad que Publicar dentro del estudio visual de powershell
Cuando ejecuta Visual Studio con proyecto MVC, por ejemplo; luego haz clic derecho en el proyecto y selecciona "Publicar"; aparece un cuadro de diálogo que completa algunas configuraciones en el clic Publicar de nuevo. Magicamente empuja su sitio web como se esperaba. También crea un archivo para mantener esa configuración. projectName.Publish.xml.
Ese archivo es la razón por la que deseo poder utilizar esto exactamente de la misma manera. Hay un par de configuraciones que podrían manipularse en powershell para enviar la aplicación a múltiples sitios con diferentes configuraciones.
He mirado en "blanco msbuild: publicar", que sólo produce (ejecutar desde el directorio que contiene el .csproj):
MSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish
He tratado "objetivo msbuild projectfile: publicar" que produce:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: target:build
También he observado varias variaciones de msdeploy. ¡No puede ser tan difícil !? Si puede hacer clic derecho en el estudio, debe haber algo que realice esa tarea.
Estoy empezando a preguntarme si esto requiere luna llena y cortar la cabeza de un pollo. (He pasado mucho tiempo en esto!)
** EDIT: He intentado la sugerencia de Lee:
msbuild target:publish Mvc.csproj
que produce este error:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: Mvc.csproj
For switch syntax, type "MSBuild /help"
** EDIT: A partir de davee sugerencia, he intentado:
msbuild target:publish Mvc.csproj
que produce este error:
MSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish=PassportHealth.PatientSimple.Mvc.csproj
También fui de nuevo a la documentación para el objetivo de "Publicar" (http://msdn.microsoft.com/en-us/library/ms165431.aspx), que parece bastante claro que la sintaxis es:
msbuild target:publish
Así que después de releer varias veces mi conclusión es la siguiente: la publicación el objetivo es para implementaciones con un solo clic de archivos .exe y no sitios web de MVC. He encontrado http://weblogs.asp.net/scottgu/archive/2010/09/13/automating-deployment-with-microsoft-web-deploy.aspx que habla sobre este asunto con bastante claridad. Sin embargo, todavía no veo cómo utilizar el archivo "publish.xml" mediante el comando msdeploy.
opciones de línea de comandos en msbuild se especifican utilizando/opt: valor, de modo que llamar al destino de publicación se debe utilizar 'msbuild/t: Publicar proj_file.csproj'. – Lee
Aquí hay un enlace a la descripción general de MSDN MSBUILD (VS2008): http://msdn.microsoft.com/en-us/library/ms171452.aspx – DaveE