asp.net - page - input asp for
''Publicar falló'' pero la construcción tuvo éxito? (11)
Cuando uso Visual Studio 2008, cuando "Publico el sitio web", la aplicación se crea correctamente, pero luego aparece el mensaje "Falló la publicación":
¿Qué posibles razones existen para esto y cómo puedo prevenirlo?
A veces se debe a que necesita ejecutar VS como administrador para poder escribir en el directorio de destino.
Verifique los mensajes de Salida, ellos deberían ayudarlo a resolver el problema
Asegúrese de vaciar la carpeta de destino (manualmente) antes de publicarla. Algunas veces no se puede eliminar un archivo que dará como resultado una publicación fallida
En mi caso, estaba publicando en un directorio en una unidad de red mapeada, pero el panel / ventana Salida indicaba que la ubicación no existía. La ruta era correcta y la unidad era completamente accesible. El problema se resolvió solo cuando reinicié la ruta para publicar en Visual Studio usando el botón ...
Lo que causó mi problema fue un poco diferente, pero tiene similitudes con algunas de las razones indicadas anteriormente.
Pude borrar mi copia local de una aplicación determinada e hice un restablecimiento completo de GIT para obtener la más reciente del repositorio en cuestión. Esto, a su vez, borró el archivo web.config (que no se almacenó en el repositorio GIT por varias razones).
Esto causa que la información de configuración para varios paquetes NuGet se "pierda" (ya que se almacenó en web.config).
Afortunadamente, "hice una copia de seguridad" de web.config, así que una vez que descubrí que no estaba allí (una migración falló porque no pude conectarme a la base de datos), pude reemplazarla.
Intenté publicar de nuevo, después de arreglar el web.config, y todo funcionó perfectamente.
Me encontré con el mismo problema hoy y fue debido al archivo Thumbs.db que se creó cuando abrí mi carpeta de imágenes para buscar una imagen. Eliminé el archivo y el proyecto se implementó correctamente. Espero que esto ayude a alguien más en la misma situación.
No estoy seguro de si esto sucede en diferentes versiones de Visual Studio, pero al menos en 2015 Professional Edition, el problema surge cuando tratamos de actualizar todos los paquetes de Nuget desde la solución usando el Administrador de paquetes.
Como señala @SimonGoldstone, el problema está causado por el paquete "Microsoft.Net.Compilers" . De forma predeterminada, el paquete se agrega a la solución al crear una nueva aplicación web. La versión predeterminada 1.0.0 no presenta ningún problema. Pude seguir probando con las últimas versiones hasta 2.4.0 y todo funciona bien, pero a partir de 2.6.0 es cuando todo comienza. Si se requiere una actualización estrictamente, recomendaría actualizar el paquete antes mencionado hasta la versión 2.4.0. Después de investigar un poco, parece que algunos errores en versiones posteriores a la 2.4.0 se introducen y no se corrigen a largo plazo. Sin embargo, lo curioso es cómo este problema se incluye en Nuget sin un control básico de control de calidad.
Puedes intentar esto:
Realice la precompilación contra la aplicación web.
Borre el directorio de destino (directorio virtual en IIS o la carpeta de archivos físicos) e implemente todos los archivos (de la aplicación web) en el directorio de destino.
En la ventana de salida puede verificar en qué etapa falla la operación del sitio web de publicación. Por ejemplo, en la primera etapa, si hay algún error que solo ocurrirá en la precompilación, eso causará que la etapa 1 falle. O algunas veces si el directorio de destino tiene algo configurado incorrectamente. Como el directorio virtual de IIS no está configurado para la versión correcta de ASP.NET o algunos archivos viejos están bloqueados y evitan que se borren. En su mayoría, la publicación fallida será causada por un problema de configuración del lado de IIS, como la configuración de autenticación ....
Puede abrir la ventana de salida presionando Ctl + w, o
.
Tuve el mismo problema. Pesadilla para identificar el problema, porque los registros y las salidas no muestran errores ni fallas. Simplemente obtengo "Build: 39 succeeded" y "Publish: 1 failed".
Resolví el problema eliminando sistemáticamente todos los paquetes NuGet uno a la vez (y eliminando el código que lo hace referencia) hasta que identifiqué el paquete ofensivo.
¡Esto lleva mucho tiempo!
Sin embargo, la respuesta para mí fue Microsoft.Net.Compilers .
No tengo idea de cómo terminé con eso en mi proyecto, pero tan pronto como eliminé ese paquete, todo vuelve a estar bien.
Editar : por lo que vale, este problema ocurre en VS 2008, 2012 y 2015, pero no ocurre en 2017.
Tuve que copiar el proyecto a C:/a/
y luego publicarlo. Sospecho que hay problemas con el camino largo. Extraño, pero funcionó para mí.
Verifique el directorio de Project BIn. debe haber una DLL de su página o control. que debe ser recreado durante la publicación. Así que excluirlo o eliminarlo
La conclusión es: pruebe con otra edición de VS y vea si eso lo hace.
Esto es lo que hizo por mí.
Tengo VS 2013 Pro y Visual Studio 2015 Community. De alguna forma uso uno u otro para trabajar en mi proyecto de MVC y todo estaba bien. Entonces, de repente VS 2013 no pudo publicar, aunque se compilaría muy bien. No hubo errores salvo algunos tontos ... el código no se devuelve desde todas las rutas ...
Entonces, cuando lo abro en VS 2017, publicó el mismo proyecto muy bien. Sospecho que se trata de un problema de compilación, porque esa era la etapa en la que fallaría.
Espero que te ayude a ahorrar un poco de tiempo.