Tengo un proyecto de aplicación web en VS 2012 y cuando uso la herramienta de publicación web, se construye con éxito pero no copia ningún archivo al destino de publicación (sistema de archivos en este caso).
Si miro el resultado de la compilación, puedo ver que todo se copia en obj \ Release \ Package \ PackageTmp \ correctamente, pero todo lo que veo en el resultado de la compilación es esto:
4> Proyecto de construcción terminado "{Project} .csproj".
4> Eliminando archivos existentes ...
4> Publicando carpeta / ...
4> ========== Compilación: 3 exitosos, 0 fallidos, 1 actualizado, 0 omitido ===== =====
========== Publicación: 1 exitoso, 0 fallido, 0 omitido ==========
Aunque dice que la publicación se realizó correctamente, no hay archivos en el directorio de destino para la publicación.
He visto esto en varios proyectos y, a veces, parece que las configuraciones de Solución / Plataforma causan este problema, pero no he podido identificar una causa exacta para esto.
¿Alguien más ha visto que esto sucede o tiene una idea sobre cómo hacer que funcione correctamente?
ACTUALIZAR:
Puede que haya encontrado una solución para esto. Acabo de hacer que esto vuelva a suceder y estaba jugando con la configuración de publicación. Una vez que cambié la Configuración seleccionada en la pestaña Configuración a otra configuración y luego volví a la que quería usar, todos mis archivos comenzaron a publicarse nuevamente. Esperemos que esto funcione en otros proyectos en el futuro.
ACTUALIZACIÓN 2:
Publiqué un error en Microsoft Connect y escuché de un desarrollador del equipo VS Web Developer. Dijo que han solucionado este problema en sus compilaciones internas y que pronto lanzarán una actualización de la herramienta de publicación que solucionará este problema.
ACTUALIZACIÓN 3:
Esto se ha solucionado recientemente con Visual Studio 2012 Update 2
Respuestas:
Esto puede ser causado por soluciones / proyectos creados con el RC de vs2012. Esto me sucedió hace meses y solucionó el problema asegurándome de que las configuraciones de construcción de mi solución coincidieran con las configuraciones de mi proyecto ...
Recientemente tuve el mismo problema al abrir la misma solución creada originalmente en vs2012RC con VS2012 Express para Web. Hice exactamente lo que sugería el póster original y solucionó mi problema.
Aquí está el hilo que me llevó a la respuesta:
connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web-application-fails
La respuesta pertinente de la conversación anterior que me ayudó fue:
fuente
El mismo problema. La solución alternativa fue cambiar la configuración de publicación de Release a Debug. Vuelva a publicar y luego vuelva a publicar ...
fuente
Para llevar esto un poco más lejos. Tiene dos archivos que se crean cuando crea un perfil de publicación.
NewProfile.pubxml
NewProfile.pubxml.user
Cuando abre un proyecto que tiene estos archivos en la carpeta PublishProfile desde un control de origen, solo tiene el
.pubxml
archivo y no el.publxml.user
archivo, por lo que crea el.publxml.user
archivo sobre la marcha cuando abre el proyecto. Cuando crea el nuevo.publxml.user
sobre la marcha, el xml se ve así:Cuando crea un nuevo perfil, crea xml que se parece a:
Si toma el
<PropertyGroup>
nodo y lo coloca en el.pubxml.user
archivo, sus PublishProfiles comenzarán a funcionar nuevamente.fuente
Una solución fácil es eliminar su perfil de publicación y crear uno nuevo.
cuando hace clic derecho en su solución y selecciona publicar, tiene un perfil establecido. elimine esto y cree uno nuevo.
Esto lo arreglará.
Tuve este problema al cambiar de 2010 a 2012
fuente
Tuve el mismo error y cambié la configuración de lanzamiento a depuración y el problema se resolvió.
fuente
Tuve este mismo problema, sin embargo, ninguna de las respuestas en este hilo funcionó para mí. Mi problema fue que hay un directorio que contiene archivos HTML estáticos generados dinámicamente (por mi aplicación). No se estaba publicando todo el directorio.
La solución que funcionó para mí se encontró aquí :
fuente
Esto se debe a que .pubxml.user contiene la información requerida para publicar, y ese archivo no está (y no debería) incluirse en el control de código fuente. Para corregir este error de VS, copie la información del archivo .pubxml.user en el archivo .pubxml. Las propiedades relevantes son:
Póngalos en su .pubxml y debería estar listo para comenzar.
fuente
Probé todas estas soluciones, pero esta es la que siempre funciona.
Simplemente cambiamos el "Método de publicación:" de "Sistema de archivos" a, por ejemplo, "Implementación web", e inmediatamente lo cambiamos de nuevo a "Sistema de archivos".
fuente
Tengo (tuve) el mismo problema para varios proyectos. Los únicos afectados parecen ser los proyectos web. Eliminar y volver a crear el perfil resuelve el problema solo una vez. Además, la comparación de la publicación xml generado no produce diferencias, por lo que no parece estar relacionado con el perfil en absoluto.
La solución mencionada por OP para cambiar los problemas de compilación de ida y vuelta parece ser la única solución confiable en este momento.
fuente
Me encontré con el mismo problema en VS 2010, después de verificar la salida de publicación, los registros de eventos, encender y verificar los registros de Visual Studio, etc. Luego decidí eliminar la publicación web (a través de agregar / eliminar) que creo que se había actualizado recientemente a v1. 0.30810.0. Esto resolvió el problema.
fuente
Aquí tuvimos el mismo problema.
Simplemente cambiamos el "Método de publicación:" de "Sistema de archivos" a, por ejemplo, "Implementación web", e inmediatamente lo cambiamos de nuevo a "Sistema de archivos".
fuente
Lo siguiente funcionó para mí:
Simplemente cambie de Release> Debug> Release (o viceversa) y luego publique.
No es necesario eliminar, editar ni publicar nada que no necesite.
fuente
Mi problema estaba en la configuración incorrecta del archivo myproject.csproj. El archivo '_address-step1-shown.cshtml' no se copió en la publicación. 'Ninguno' cambió a 'Contenido', ahora está bien.
fuente
None
en el archivo .csproj, o faltaban por completo en el proyecto (allí pero no se "usaron")! Esto explica completamente por qué la ejecución local siempre funcionó, pero la publicación nunca funcionó. : DMismo problema con VS 2012 Pro con un destino de publicación de disco. El proyecto solía publicarse correctamente, pero comenzó a hacer este problema donde no pudo copiar los archivos a la carpeta de destino.
La solución fue editar el perfil de publicación, cambiar el modo de Release (Cualquier CPU) a depurar y luego volver a Release (Cualquier CPU). Hacer esto hace que el archivo PublishProfiles \ projname.pubxml.user se reescriba (como se describió anteriormente). Parece que agregó los elementos LastUsedBuild, LastUsedPlatform y TimeStampOfAssociatedLegacyPublishXmlFile debajo del nodo del grupo de propiedades. Una vez completada la publicación, agrega otro ItemGroup con archivos individuales y tiempos de publicación.
fuente
Esta acción fue exitosa para mí:
Elimine los perfiles de publicación en "Propiedades> Perfiles de publicación> xxxx.pubxml" y vuelva a configurarlos.
fuente
Por lo que vale, eventualmente dejé de pelear con Web Deploy para que hiciera lo que quería (copiar archivos desplegables y nada más), así que lo escribí en PowerShell y estoy muy contento con el resultado. Es mucho más rápido que cualquier cosa que probé a través de MSBuild / Web Publish, presumiblemente porque esos métodos todavía estaban haciendo cosas que no necesitaba.
Aquí está la esencia ( literalmente ):
En mi caso, lo llamo en un entorno de CI (TeamCity), pero también podría engancharse fácilmente en un evento posterior a la compilación.
fuente
Encontré que podría solucionar este problema cambiando la ubicación de destino de obj / [release | stage | ..] a una nueva ruta fuera de las carpetas de la solución por completo, por ejemplo, c: \ implementación. Parece que VS 2012 se estaba confundiendo y tal vez se estaba rindiendo en algún lugar durante el proceso de publicación.
Mate
fuente
Tuve el mismo problema recientemente en VS 2013 para un proyecto MVC en el que importé Umbraco CMS. No pude publicar. La respuesta anterior ayudó, aunque necesité un tiempo para descubrir qué debería hacer en realidad en VS. Necesitaba un poco de investigación, por ejemplo, en blogs de MS para averiguarlo. Trato de decirlo simple:
fuente
Tengo una aplicación web con varios otros proyectos referenciados en la solución. Me he desplegado con éxito con una sola configuración de publicación muchas veces en el pasado. Cambié la configuración del proyecto de depuración a versión para un proyecto que se había perdido en el pasado. La próxima vez que intenté implementar tuve estos síntomas, donde la publicación falla silenciosamente, no hace nada y dice que tuvo éxito:
La única forma de recuperarlo era borrar el perfil de publicación, cerrar Visual Studio para forzarlo a guardar la eliminación, volver a abrirlo y recrear el perfil de publicación desde cero. Una vez que hice eso, pude publicar bien nuevamente.
Win8 VS2012, portátil horrible.
fuente
En Visual Studio 2012, cambiar entre versiones sigue causando problemas.
Agregamos un evento previo a la compilación para eliminar la
obj
carpeta:del /s /f /q $(ProjectDir)\obj
y solucionó el problema de la publicación. La limpieza funciona a veces, pero no siempre.fuente
Finalmente encontré la respuesta por mí mismo. Todas las soluciones anteriores no funcionan para mí.
Lo que había hecho es mover el proyecto para conducir c, cambiar la carpeta del proyecto a algo más corto y publicarlo.
La razón por la que falló de mi lado es que tenía un nombre / jerarquía de proyecto muy largo.
C: \ Users \ user \ Desktop \ Compliance Management System \ ComplianceIssueManagementSystem \ ComplianceIssueManagementSystem
Pensé en esto porque a veces cuando extraigo el archivo rar dice que el nombre / ruta es demasiado largo. Pensé que sería lo mismo que Visual Studio 2012 publicar. y lo hace!
Espero que les sirva de ayuda.
fuente
Compruebe su proyecto actual si ha realizado una copia de respaldo con el mismo nombre de clase y diferente nombre de página (el nombre de clase heredará el archivo copiado). ¡Al final eso confundirá al compilador!
CodeFile = "Consolidated.aspx.vb" Hereda = "Consolidado
fuente
Ninguna de las soluciones anteriores funcionó para mí.
Pero noté que de nuestros cinco proyectos ASP.NET MVC en nuestra solución principal, cuatro de ellos colocaron el paquete de implementación en el lugar correcto, mientras que uno lo dejó en obj \ Debug.
Comparé los proyectos y encontré una discrepancia. La solución fue cambiar esto :
a esto :
Después de realizar este cambio, los cinco proyectos colocaron sus paquetes de implementación en el lugar correcto.
(Perdón por las largas colas, pero no pude encontrar una mejor manera de condensarlas).
fuente
Encontré esto con los archivos de referencia de servicio generados por Visual Studio que se vuelven demasiado largos en términos de la longitud total de la ruta.
Los acorté volviendo a generar la referencia de servicio utilizando svcutil.exe, eliminando todos los archivos originales de referencia de servicio.
svcutil se puede llamar así:
My.Namespace debe reemplazarse con el espacio de nombres existente en el proxy de servicio generado (normalmente se encuentra en el archivo Reference.cs) para evitar errores de compilación.
http://myservice
debe reemplazarse con la URL del punto final del servicio.fuente
Me he metido en el mismo problema. Ninguna de las soluciones anteriores funcionó para mí.
fuente
Había publicado el sitio web varias veces. Pero un día cuando modifiqué un archivo aspx y luego intenté publicar el sitio web, resultó en una carpeta publicada vacía.
En mi solución, encontré una solución.
El asistente de publicación reflejará cualquier error durante la publicación, pero no copiará ningún archivo a la carpeta de destino.
Para averiguar el archivo que genera el error, simplemente copie el contenido de la carpeta del sitio web en una nueva carpeta e inicie el estudio visual con ese sitio web.
Ahora, cuando intentes publicarlo, te dará el nombre del archivo que contiene errores.
Simplemente rectifique el error en la carpeta original del sitio web e intente publicar, funcionará como estaba antes.
fuente
Siga estos pasos para resolver:
Cree un nuevo perfil y configúrelo con la misma configuración que su perfil existente.
El proyecto ahora se publicará correctamente. Esto ocurre a menudo como resultado de un perfil de publicación controlado por el origen de otra máquina que se creó en una versión más reciente de Visual Studio.
fuente
CORREGIDO - varias soluciones ofrecidas no funcionaron para mí. Lo que funcionó para mí con VS Community 2017, Windows Server 2012 R2 fue cambiar las variables de entorno TEMP y TMP para el usuario y luego reiniciar el sistema e implementarlo nuevamente (reiniciar VS no fue suficiente). Estas variables temporales son donde VS publica la temperatura.
Reiniciar Visual Studio después de cambiar las variables temporales no funcionó, tuvo que reiniciar el sistema.
fuente
Primero:
Mientras publica, vuelva a verificar lo que ha elegido.
Esto debería hacerlo. ¡Lo hizo por mí! :)
fuente
Lo más fácil es
fuente