2009-04-29 33 views
6

Estoy trabajando en un proyecto WebForms de tamaño moderado. Debido a las peculiaridades de la gestión aquí, tengo que cargar el sitio a un servidor remoto para probar (sin pruebas de localhost). Estoy usando el comando 'Publicar' en Visual Studio 2008. A veces, incluso funciona. La mayoría de las veces, inexplicablemente obtengo un "error de publicación" en la esquina inferior izquierda, sin más detalles.El comando 'Publicar' de Visual Studio falla

Los pocos artículos de Google/publicaciones en el foro que leí sugirieron hacer que la carpeta local de destino para la operación de publicación sea legible/grabable para todos. No ayuda.

¿Hay alguna manera de obtener más detalles acerca de POR QUÉ una publicación falla en VS2008, y si no, hay una mejor manera de hacer estas implementaciones? Paso más tiempo construyendo/empujando hacia el servidor web que depurando realmente.

+0

Esto es estúpido, así que no creo que merezca ser publicado como respuesta, pero a veces, si tengo la carpeta abierta y se hace clic en un archivo, la publicación falla porque no puede eliminar el archivo que he resaltado. –

Respuesta

3

Nos sucede cuando hay un error en el marcado (!). Lo malo es que VS simplemente se tragará el error y simplemente le dirá Falló.

Lo que sugiero es ejecutar su publicación desde la línea de comandos usando MSBuild. No es tan sencillo, pero funciona (una vez que lo entiendes).

1

Principalmente trabajo con formularios web, y encuentro este problema a diario. Me parece que la publicación falla cuando no puede eliminar un archivo que está tratando de reemplazar. Incluso si no tengo ningún archivo abierto, a veces falla. No estoy seguro por qué. No solo la publicación de VS falla muy a menudo, también es dolorosamente lenta. Acabo de publicar en un directorio local vacío y uso un cliente FTP separado para cargar archivos. Es más trabajo, pero funciona.

1

Probablemente este no sea el caso para usted, pero he visto esto cuando estoy publicando un sitio web. Si el archivo app_offline.htm no está excluido de su proyecto (si usa este archivo), la publicación fallará.

0

Después de luchar con un problema similar durante unos 30 minutos sin tener ni idea de lo que estaba causando cerró VS y volvió a abrir mi proyecto. Empezó a funcionar bien. No tengo idea por qué pero funcionó.

2

Desde entonces, descubrí que el motivo de estas fallas de publicación en particular se debió a que se marcaba la opción "Eliminar archivos existentes". El uso de Visual Studio 2008 en una cuenta no administrativa en Windows Vista podría causar un error de permisos al intentar eliminar los archivos existentes. La publicación fallaría silenciosamente después de encontrar un archivo al que Visual Studio no tuvo acceso suficiente para eliminar. Una vez que los archivos se eliminaron manualmente fuera de Vidual Studio, la publicación funcionó normalmente.

No he tenido este problema con Windows 7; Supongo que los cambios de UAC en Windows 7 corrigieron el problema.

1

Me pasó lo mismo ... lo que hice fue incluir archivos de imágenes que no se incluyeron en el proyecto y eliminar imágenes que no se usaron.

4

Vale la pena consultar la ventana de resultados. Acabo de publicar un error porque había eliminado una imagen fuera de VS, por lo que VS se quejaba de que no se podía encontrar la imagen, pero esta información solo se mostraba en la ventana de resultados.

ver este enlace para más información: http://ericfickes.com/2009/08/find-out-why-visual-studios-publish-fails/

+0

Genial, ¡he encontrado mi respuesta aquí! –

0

Usted debe siempre detener la instancia de IIS que se ejecuta en la máquina de su va a publicar. Busque la palabra "iisreset".Otros proveedores de hosting como DiscountAsp y Arvixe le ofrecen herramientas para "detener" e "iniciar" su grupo de aplicaciones en su IIS de forma remota. Esto es muy necesario porque IIS puede haber bloqueado algunos archivos como "en uso", por lo que su publicación falla cuando intenta escribir sobre ellos. Cuando su publicación esté completa, simplemente reinicie IIS (o presione "Comenzar" desde una herramienta web si está usando un proveedor de hosting de terceros).

Cuando todo lo demás falla, verifique su ventana "Salida" (la pestaña a la derecha de su "Lista de errores" en la parte inferior de Visual Studio). Desplácese por todo después de una publicación fallida y busque cualquier cosa que diga "No se puede agregar". Si sigue apareciendo el mismo error de "No se puede agregar" en la misma publicación, inserte ftp en la carpeta, elimine los archivos problemáticos de forma manual e intente publicar de nuevo.

0

Obtuve esto cuando mi archivo ProjectName.Publish.xml era de solo lectura. Una vez que revisé el archivo fuera del control de la fuente, ya no recibí el error y pude publicar.

0

Solo para agregar a este hilo, encontré que, por alguna extraña razón, solo los archivos de Mercurial se estaban publicando en el servidor, todo lo demás no se estaba copiando.

Otra cosa extraña fue que solo estaba disponible la configuración Debug; Release no se veía por ningún lado.

Después de leer las discusiones en torno SO, descubrí que había muchos para VS 2010 y 2012, pero no hay mucho que cubrir el mismo problema con 2008.

La solución, encontré, era eliminar la [ solución]. suo archivo y luego intente publicar. Eso pareció hacer el trabajo, aunque tardó mucho tiempo en completarse.

Cuestiones relacionadas