2011-12-26 15 views
7

Estoy usando Visual Studio 2010 con el nuevo diálogo de publicación del sitio web. Tengo un sitio web de aplicación web. Cuando se publica, en teoría, debe compilar todo el código en un solo ensamblaje. Sin embargo, en ambos Debug y Release, después de publicar el directorio siempre contiene el código fuente de la página y los controles del usuario (incluso con los archivos web.config no transformados Web.Debug.config y Web.Release.Config). Esto es muy confuso¿Por qué Visual Studio 2010 publica el sitio web con el código fuente?

Pero con la configuración del proyecto package/publish web y el elemento de menú de contexto Generate Deploy package, el directorio Package \ PackageTmp está limpio.

  • ¿Por qué Visual Studio no utiliza este paquete para publicar el sitio web?
  • ¿Dónde está la opción de precompilación?
  • La transformación web.config xml parece no funcionar, ¿por qué Visual Studio trae esta característica para confundirme?
+0

¿Es una aplicación web o un sitio web? ¿Ves solo archivos '.as? X' o también archivos' .cs'? – SLaks

+0

@SLaks Estoy seguro de que es una aplicación web, no un sitio web. Ya lo resolví, simplemente porque configuré 'Incluir todos los archivos de proyecto' en la configuración' Paquete/Publicar web' –

+0

Hola @RocHo yo también tengo el mismo problema, pero el problema es Estoy publicando el SITIO WEB y no la aplicación web en VS2013 Professional Edition. Cuando publico también publico el CÓDIGO FUENTE y no jst los binarios/dll. Entonces, ¿me sugerirá alguna solución para publicar archivos en archivos .aspx/.dll solamente? –

Respuesta

11

La respuesta correcta es buscar en la configuración del paquete/Publicar web (en las propiedades del proyecto de la aplicación web) y buscar los "Elementos para implementar".

enter image description here

para una aplicación web que te gustaría "Artículos para desplegar" tener "Sólo los archivos necesarios para ejecutar esta aplicación", que no iba a copiar los archivos de código fuente, ya que han sido compilados en el DLL en la carpeta bin.

Tenga en cuenta que este ajuste varía para su tipo de construcción actual (Depuración/Liberación/etc), por lo que planificar en consecuencia ...

Ciao!

+0

hi @ enorl76 por favor sugiero alguna solución para el comentario anterior? ayuda apreciada! Intenté su solución, pero desafortunadamente no pude encontrar esta opción en la edición profesional VS 2013. :( –

+0

@SHEKHARSHETE tengo VS 2013, y acabo de buscar y es el mismo. ¿Quizás está tratando de usar un tipo de proyecto diferente? Tiene que estar utilizando un tipo de proyecto de aplicación web. – enorl76

2

Debe comprender las diferencias entre Web Application Projects versus Web Site Projects.

Para implementar un proyecto de aplicación web, copie el conjunto que es creado al compilar el proyecto en un servidor IIS. Por el contrario, para implementar un proyecto de sitio web, normalmente copie los archivos fuente del proyecto en un servidor IIS.

Para proyectos de aplicaciones web, normalmente crea el proyecto en Visual Studio o mediante el compilador por lotes ASP.NET en una computadora que no es el servidor de producción IIS. Todos los archivos de clase de código subyacente y los archivos de clase independiente del proyecto se compilan en un único conjunto , que luego se coloca en la carpeta Bin del proyecto de la aplicación web. (El .aspx y .ascx están compilados dinámicamente de manera similar a lo que se hace para los proyectos de sitios Web.)

Para proyectos de sitios Web, usted no tiene que compilar manualmente el proyecto . Los proyectos del sitio web se compilan dinámicamente por ASP.NET (tanto en la computadora de desarrollo como en el servidor de producción IIS ). Puede elegir entre el modo de compilación por lotes, que normalmente produce un ensamblaje por carpeta y el modo de compilación fija , que generalmente produce un ensamblaje para cada página o usuario control.

0

En Visual Studio 2013/2015, seleccione una opción "Precompile durante la publicación" enter image description here

Cuestiones relacionadas