visual studio que net instalar español descargar con asp asp.net visual-studio

studio - Sitio web o aplicación web en ASP.NET



visual basic.net download (7)

Qué plantilla de Visual Studio se debe usar para un sitio web ASP.NET, la plantilla del sitio web o el proyecto | Plantilla de aplicación web?


Los proyectos de aplicaciones web funcionan más como un proyecto VS tradicional, que tiene un archivo de proyecto, se compila en un paso y así sucesivamente.

Los proyectos de sitios web funcionan más como ASP clásicos o sitios PHP. No hay un archivo de proyecto (las referencias se almacenan en el archivo de solución) y las páginas se vuelven a compilar dinámicamente en el servidor. Lo bueno de los sitios web es que puedes simplemente acceder al servidor y cambiar un archivo en un editor de texto. No necesitas VS. Sin embargo, algunos pueden odiar eso.

Probablemente depende de tu fondo. Si está acostumbrado al desarrollo de estilo ASP o PHP, los proyectos de sitio web le parecerán más naturales. Si tiene antecedentes de desarrollador de aplicaciones tradicionales, los proyectos de aplicaciones web parecerán más naturales.


Personalmente utilizo proyectos de aplicaciones web exclusivamente ahora. En realidad, convertí un sitio web más bien a una aplicación web debido a los tiempos de compilación para el sitio web.

También utilizo eventos de precompilación para mover los archivos de configuración específicos de configuración y los eventos de precompilación y postconstrucción no están disponibles en los sitios web.


Prefiero un sitio web Un sitio web es una colección de archivos en un directorio. Se vuelve más portátil y desplegable. Una aplicación web nubla el problema con un archivo de proyecto.



Si está utilizando Team Foundation Server para el control de código fuente, probablemente tendrá que usar un Proyecto de aplicación web, ya que necesita un archivo .csproj.

Hay más detalles del propio Jeff Atwood: Proyectos del sitio web vs. Proyectos de aplicaciones web

Los proyectos web del sitio web son particularmente dolorosos en Team System debido a la falta de un archivo físico que contenga información del proyecto y metadatos. Por ejemplo, es imposible verificar las reglas de análisis de códigos en proyectos de sitios web, ¡porque las reglas de análisis de códigos se almacenan por completo en el cliente!


Ambos funcionan y funcionan de manera similar, pero aún difieren de las siguientes maneras:

Aplicación web:

  • No podemos incluir páginas C # y VB en una sola aplicación web.
  • Podemos configurar dependencias entre proyectos múltiples.
  • No se pueden editar archivos individuales después de la implementación sin volver a compilar.
  • La elección correcta para entornos empresariales donde múltiples desarrolladores trabajan unidos para crear, probar y desplegar.

Sitio web:

  • Puede mezclar la página VB y C # en un único sitio web.
  • No se pueden establecer dependencias.
  • Edite archivos individuales después de la implementación.
  • Elección correcta cuando un desarrollador será responsable de crear y administrar todo el sitio web.

En Visual Studio 2015, he llegado a preferir los proyectos de sitios web a proyectos de aplicaciones web. Todavía utilizo Visual Studio porque obtienes Nuget Packaging, puedes instalar paquetes nuget en ambos tipos de proyectos.

Sin embargo, un proyecto de sitio web no tiene un archivo de proyecto, simplemente está agregando una carpeta a su solución.

Sin embargo, todavía puede tener código, pero prefiero ponerlo en un proyecto separado.

En los proyectos de WebApp, usted tiene sus activos, CSS, vistas (razor, aspx, etc.), controladores / código detrás, etc., todo en un solo proyecto y simplemente se mezcla. Prefiero trabajar con sitios web en dos mitades. La interfaz (css, js, images, "html / cshtml / aspx / ashx / .master / etc") y la parte de atrás (todo el código).

Así que creo un proyecto de sitio web y una biblioteca de clase para acompañarlo (en Visual Studio puedes agregar referencias al proyecto del sitio web). Agrego mi Biblioteca de clases como una dependencia y todo el Código está en la clase Biblioteca. Aún puede tener un archivo.asx global, solo tiene que indicarle que el código subyacente está en otro dll (no en el que compilará el sitio). MVC views, solo especifica los espacios de nombres como normales (el dll es referencia para que los espacios de nombres estén allí). Y en WebForms, solo tiene que recordar incluir el nombre del ensamblado con las referencias de tipo en las que se encuentra el código.

Es un poco tedioso acostumbrarse, pero cuando lo haces tienes una estructura aislada, todo está en un lugar que tiene sentido y modularizado de una manera fácil de mantener.

Y el lado PLUS es que debido a que el sitio web es solo una carpeta (sin archivo de proyecto), se puede abrir fácilmente en Visual Studio Code y otros editores de texto populares, lo que facilita a los diseñadores trabajar en css / js / images, etc. que no están en el proyecto de código). Al mantener separados a los diseñadores de capas, el diseñador ve exactamente lo que necesita ver.

Ahora estructura sabio. Mantengo mi código local en mi máquina en un repositorio de subversión usando Tortoise SVN y Visual SVN (java / .net shop). Para probar localmente, instalé IIS y configuré el proyecto del sitio web en IIS localmente como lo haría en los servidores dev / prod.

Luego instalo MSDeploy en los servidores dev / prod y utilizo la función Publicar aplicación web a través de MSDeploy en Visual Studio y utilizo las transformaciones web.config. Así que tengo las transformaciones web.config para dev y prod y la web.config principal sin transformaciones es para pruebas locales (por lo que funciona para todos los desarrolladores del proyecto).

A contravenciones declaradas anteriores: Tener un Proyecto WebSite frente a un Proyecto WebApp no ​​significa que muchos desarrolladores no puedan trabajar en él, eso solo si su Proyecto WebSite está en algún servidor y lo está cargando directamente desde allí, lo que sería malo práctica.

Puede tratar un proyecto de sitio web como cualquier otro proyecto de Visual Studio, código local, control de fuente, múltiples desarrolladores.

Como nota final, un beneficio adicional de separar su código es que puede poner todo su código en un proyecto compartido. Luego puede crear una Biblioteca de clases para cada puerto que pueda hacer, digamos una en .net 4.6 y otra en .net core 5 y enlace en su proyecto compartido. Siempre que su código sea compatible con ambos, se compilará y no tendrá ningún archivo de código duplicado.