Visual Studio 2012 Web Publish no copia archivos
Tengo un proyecto de aplicación web en VS 2012 y cuando uso la herramienta de publicación web, se compila correctamente 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 correctamente en obj\Release\Package\PackageTmp\, pero todo lo que veo en el resultado de la compilación es esto:
4>Proyecto de construcción terminado "{Project}.csproj".
4>Eliminar archivos existentes...
4>Carpeta de publicación /...
4> ========== Compilación: 3 exitosas, 0 fallidas, 1 actualizada, 0 omitidas ===== =====
========== Publicación: 1 exitosa, 0 fallida, 0 omitida ==========
Aunque dice que la publicación se realizó correctamente, no hay archivos en el directorio de destino de 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.
¿Alguien más ha visto que esto suceda o tiene una idea sobre cómo hacer que funcione correctamente?
ACTUALIZAR:
Es posible que haya encontrado una solución para esto. Me volvió a pasar esto 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 recibí respuesta de un desarrollador del equipo de desarrolladores web de VS. 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 solucionó recientemente con Visual Studio 2012 Update 2
El mismo problema. La solución alternativa fue cambiar la configuración de publicación de Lanzar a Depurar. Vuelva a publicar y luego vuelva a cambiar a Lanzar...
Esto puede deberse a soluciones/proyectos que se crearon con el RC de vs2012. Esto me sucedió hace meses y solucionó el problema asegurándome de que las configuraciones de compilación de mi solución coincidieran con las configuraciones de mi proyecto...
Recientemente experimenté 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 cartel 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:
Publicado por Microsoft el 13/06/2012 a las 12:00 p.m. Hola Andrew,
Esto fue un error en la forma en que manejamos la configuración de la solución frente a la configuración del proyecto. Supusimos incorrectamente que serían iguales (por ejemplo, la Versión|x86 de la solución también tendría cada proyecto configurado en la Versión|x86), lo que provocó que usáramos propiedades de compilación incorrectas para publicar archivos.
La solución alternativa es hacer que la configuración de la solución y la configuración de la compilación coincidan. Este problema se solucionará en la próxima versión de Visual Studio 2012.
Gracias, Jimmy Lewis SDET, equipo de desarrolladores web visuales
Para llevar esto un poco más allá. 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 fuente, 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í:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
Cuando creas un nuevo perfil, crea un xml que se parece a:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword />
</PropertyGroup>
</Project>
Si toma el <PropertyGroup>
nodo y lo coloca en el .pubxml.user
archivo, PublishProfiles comenzará a funcionar nuevamente.
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 configurado. elimina esto y crea uno nuevo.
esto lo solucionará.
Tuve este problema al cambiar del 2010 al 2012