Notas de la versión de ASP.NET and Web Tools 2013.2 para Visual Studio 2013
por Microsoft
installation notes (Nota de compatibilidad de SAP n.º 1984787: Notas de instalación de SUSE Linux Enterprise Server 12)
ASP.NET and Web Tools para Visual Studio 2013.2 se incluyen en el instalador principal y pueden descargarse como parte de la actualización 2 de Visual Studio 2013.
Documentación
Los tutoriales y otra información sobre ASP.NET and Web Tools para Visual Studio 2013.2 están disponibles en el sitio web de ASP.NET.
Requisitos de software
ASP.NET and Web Tools para Visual Studio 2013.2 requiere Visual Studio 2013.
Nuevas características en ASP.NET and Web Tools para Visual Studio 2013.2
Las siguientes secciones describen las características que se han introducido en la versión.
- Plantillas de proyecto de One ASP.NET
- Compatibilidad con SSL al iniciar aplicaciones web en IIS Express
- Mejoras del editor web de Visual Studio
- Vínculo con exploradores
- Compatibilidad con Azure App Service Web Apps en Visual Studio
- Creación de recursos remotos de Azure al crear un nuevo proyecto web
- Mejoras en la publicación web
- ASP.NET Scaffolding
- NuGet 2.8.1
- ASP.NET Web Forms
- ASP.NET MVC 5.1.2
- ASP.NET Web API 2.1.2
- ASP.NET Web Pages 3.1.2
- Entity Framework 6.1
- ASP.NET Identity 2.0.0
- Componentes de OWIN de Microsoft
- ASP.NET SignalR 2.0.2
Plantillas de proyecto de One ASP.NET
- Actualizaciones de las plantillas de proyectos de ASP.NET para que sean compatibles con la confirmación de cuentas y el restablecimiento de contraseñas.
- Actualice la plantilla de ASP.NET Web API para usar la autenticación usando cuentas organizativas locales.
- La plantilla de SPA de ASP.NET contiene ahora autenticación basada en MVC y vistas del lado del servidor. La plantilla tiene un controlador WebAPI al que solo pueden acceder usuarios autentificados.
Compatibilidad con SSL al iniciar aplicaciones web en IIS Express
Para eliminar la advertencia de seguridad al navegar y depurar HTTPS en localhost, agregamos un cuadro de diálogo para permitir que Internet Explorer y Chrome confíen en el certificado SSL de IIS Express autofirmado.
Por ejemplo, se puede establecer una propiedad del proyecto web para usar SSL. Haga clic en F4 para abrir el diálogo de propiedades. Cambie SSL habilitado a true. Copie la URL de SSL.
Establezca la pestaña web de la página de propiedades del proyecto web para usar la URL basada en HTTPS (la URL de SSL será https://localhost:44300/
a menos que haya creado previamente sitios web SSL).
Presione CTRL+F5 para ejecutar la aplicación. Siga las instrucciones para confiar en el certificado autofirmado que ha generado IIS Express.
Lea el cuadro de diálogo Advertencia de seguridad y después haga clic en Sí si quiere instalar el certificado que representa a localhost.
El sitio se mostrará en IE o Chrome sin la advertencia del certificado en el explorador.
Firefox usa su propio almacén de certificados, por lo que mostrará una advertencia.
Mejoras en el editor web de Visual Studio
Nuevo editor y elemento de proyecto JSON: hemos agregado un editor y un elemento de proyecto JSON a Visual Studio. Las características actuales del editor JSON incluyen la coloración, la validación de sintaxis, la finalización de llaves, la configuración de opciones de herramientas y mucho más.
IntelliSense ahora admite esquema JSON v3 y v4. Hay un cuadro combinado de esquemas para elegir los esquemas existentes, editar la ruta del esquema local o simplemente arrastrar y soltar un archivo JSON del proyecto para obtener la ruta relativa.
Nuevo editor de Sass (SCSS): hemos agregado LESS en VS2013 RTM, y ahora tenemos un elemento de proyecto y editor de Sass. Las características del editor de Sass son comparables a las del editor de LESS, e incluyen la coloración, IntelliSense de variables y Mixins, comentar/quitar marca de comentario, información rápida, formato, validación de sintaxis, esquemas, definición de GOTO, selector de colores, configuración de opciones de herramientas, etc.
Nuevo selector de URL en documentos HTML, Razor, CSS, LESS y Sass: VS 2013 se envía sin selector de URL fuera de las páginas de Web Forms. El nuevo selector de URL para los editores HTML, Razor, CSS, LESS y Sass es un selector de escritura fluida y sin diálogos que entiende ".." y filtra adecuadamente las listas de archivos para las etiquetas img y los vínculos.
Actualizaciones del editor LESS añadiendo más características
Actualización de Knockout Intellisense: hemos agregado una sintaxis de KnockOut no estándar para VS intelliSense, la sintaxis "ko-vs-editor viewModel:". Puede usarse para enlazar a varios modelos de vista en una página usando comentarios en el formulario:
También hemos agregado compatibilidad con modelo de vista de IntelliSense anidado, para que pueda profundizar en objetos profundamente anidados en ViewModel.
<div data-bind="text: foo.bar.baz.etc" />
El IntelliSense mostrado es el IntelliSense completo del objeto JavaScript.
Nuevo selector de URL en documentos HTML, Razor, CSS, LESS y Sass: VS 2013 se envía sin selector de URL fuera de las páginas de Web Forms. El nuevo selector de URL para los editores HTML, Razor, CSS, LESS y Sass es un selector de escritura fluida y sin diálogos que entiende ".." y filtra adecuadamente las listas de archivos para las etiquetas img y los vínculos.
Vínculo con exploradores
- Vínculo con exploradores ahora admite conexiones HTTPS y lo enumerará en Panel con otras conexiones siempre que el explorador sea de confianza para el certificado.
- Asignación de origen HTML estática
- Compatibilidad con SPA para datos de asignación
- Actualización automática de datos de asignación
Compatibilidad con Azure App Service Web Apps en Visual Studio
- Compatibilidad con el inicio de sesión de Azure.
- Depuración remota y vista remota para aplicaciones web: ahora admitimos la depuración remota para aplicaciones web en Azure App Service y la vista remota de archivos de contenido de aplicaciones web en el explorador del servidor.
Creación de recursos remotos de Azure al crear un nuevo proyecto web
Hemos agregado una casilla de verificación de "Crear recursos remotos" de Azure en el cuadro de diálogo de la nueva aplicación web. Al elegirlo, podrá integrar la experiencia de crear una nueva aplicación web, establecer el sitio de publicación de Azure para las pruebas y crear el perfil de publicación en unos sencillos pasos.
Mejoras en la publicación web
- Mejora de la experiencia del usuario para la publicación.
ASP.NET Scaffolding
- Compatibilidad con enumeración: si el modelo usa Enumeraciones, el proveedor de scaffolding de MVC generará la lista desplegable para Enumeraciones. Esto usa los asistentes de enumeración en MVC.
- Compatibilidad con Bootstrap: hemos actualizado las plantillas de EditorFor en MVC Scaffolding para que usen las clases de Bootstrap.
- Soporte de paquetes: los proveedores de scaffolding para MVC y Web API agregarán paquetes 5.1 para MVC y Web API.
Las siguientes capturas de pantalla muestran modelos de scaffolding.
Código del modelo:
Compile el código del modelo, haga clic con el botón derecho y seleccione Añadir, Nuevo elemento de scaffolding.
Elija Controlador MVC5 con vistas, usando Entity Framework:
Agregar controlador usando el modelo:
Compruebe que el código generado, por ejemplo Views/WeekdayModels/Edit.cshtml contiene
@Html.EnumDropDownListFor
:Ejecute la página para ver el cuadro combinado de enumeración generado, observe que si un valor puede ser NULL, se puede elegir una cadena vacía para el cuadro combinado. Por ejemplo, la página Crear muestra lo siguiente:
NuGet 2.8.1
NuGet 2.8.1 RTM se publicará en abril de 2014. Estos son los puntos más destacados de las notas de la versión, pero consulte las notas completas de la versión para más información sobre estos cambios.
Destino de aplicaciones Windows Phone 8.1: NuGet 2.8.1 ahora es compatible con los destinos de aplicaciones de Windows Phone 8.1 usando los monikers de la plataforma de destino "WindowsPhoneApp", "WPA", "WindowsPhoneApp81" y "WPA81".
Resolución de revisiones para dependencias: al resolver las dependencias de los paquetes, NuGet ha implementado históricamente una estrategia de selección de la versión mayor y menor más baja del paquete que satisfaga las dependencias del paquete. Pero a diferencia de la versión principal y secundaria, la versión de revisión siempre se ha resuelto con la versión más alta. Aunque la intención del comportamiento era la correcta, creó una falta de determinismo para instalar paquetes con dependencias.
Conmutador DependencyVersion: aunque NuGet 2.8 cambia el comportamiento predeterminado de la resolución de dependencias, también agrega un control más preciso sobre el proceso de resolución de dependencias a través del conmutador -DependencyVersion en la consola del administrador de paquetes. El modificador permite resolver dependencias en la versión más baja posible (comportamiento predeterminado), la versión más alta posible o la versión secundaria o de revisión más alta. Este modificador solo funciona para install-package en el comando de PowerShell.
Atributo DependencyVersion: además del conmutador -DependencyVersion detallado anteriormente, NuGet también ha permitido la posibilidad de establecer un nuevo atributo en el archivo nuget.config que define cuál es el valor predeterminado, si no se especifica el conmutador -DependencyVersion en una invocación de install-package. En el cuadro de diálogo Administrador de paquetes NuGet también se respetará este valor para cualquier operación de instalación de paquetes. Para establecer este valor, agregue el atributo siguiente a su archivo nuget.config:
<config> <add key="dependencyversion" value="Highest" /> </config>
Vista previa de las operaciones NuGet con -WhatIf: algunos paquetes NuGet pueden tener gráficos de dependencias profundas y, como tales, puede ser útil durante una operación de instalación, desinstalación o actualización ver primero qué ocurrirá. NuGet 2.8 agrega el conmutador estándar de PowerShell -what if a los comandos install-package, uninstall-package y update-package para habilitar la visualización de todo el cierre de paquetes a los que se aplicará el comando.
Cambiar a una versión anterior del paquete: es frecuente instalar una versión preliminar de un paquete para investigar nuevas características y después decidir volver a la última versión estable. Antes de NuGet 2.8, se necesitaba un proceso de varios pasos para desinstalar el paquete de versión preliminar y sus dependencias y, después, instalar la versión anterior. Pero con NuGet 2.8, el paquete de actualización revertirá ahora todos los paquetes (por ejemplo, el árbol de dependencias del paquete) a la versión anterior.
Dependencias de desarrollo: muchos tipos diferentes de capacidades pueden entregarse como paquetes NuGet, incluidas las herramientas que se usan para optimizar el proceso de desarrollo. Estos componentes, aunque pueden ser fundamentales para desarrollar un nuevo paquete, no deben considerarse una dependencia del nuevo paquete cuando se publique más adelante. NuGet 2.8 permite que un paquete se identifique en el archivo .nuspec como developmentDependency. Una vez instalado, estos metadatos también se agregarán al archivo packages.config del proyecto en el que se instaló el paquete. Cuando ese archivo packages.config se analice posteriormente en busca de dependencias de NuGet durante el paquete nuget.exe, excluirá las dependencias marcadas como dependencias de desarrollo.
Archivos packages.config individuales para diferentes plataformas: al desarrollar aplicaciones para varias plataformas de destino, es habitual tener archivos de proyecto diferentes para cada uno de los respectivos entornos de compilación. También es habitual consumir diferentes paquetes NuGet en diferentes archivos del proyecto, ya que los paquetes tienen distintos niveles de compatibilidad con cada plataforma. NuGet 2.8 proporciona un soporte mejorado para este escenario mediante la creación de diferentes archivos packages.config para diferentes archivos de proyecto específicos de la plataforma.
Reserva a la caché local: aunque los paquetes NuGet se consumen normalmente desde una galería remota como la galería NuGet usando una conexión de red, hay muchos escenarios en los que el cliente no está conectado. Sin una conexión de red, el cliente NuGet no puede instalar correctamente paquetes, incluso cuando esos paquetes ya están en el equipo del cliente en la caché local de NuGet. En NuGet 2.8 se agrega reserva automática de caché a la consola del administrador de paquetes.
La característica de reserva de caché no necesita ningún argumento de comando específico. Además, la reserva de caché solo funciona actualmente en la consola del administrador de paquetes; no funciona actualmente en el cuadro de diálogo Administrador de paquetes.
Correcciones de errores: una de las principales correcciones de errores realizadas fue la mejora del rendimiento en el comando update-package -reinstall.
Además de estas características y la corrección de rendimiento mencionada antes, en esta versión de NuGet también se incluyen muchas otras correcciones de errores. En la versión se han solucionado un total de 181 problemas. Para obtener una lista completa de los elementos de trabajo corregidos en NuGet 2.8, consulte el rastreador de incidencias de NuGet para esta versión.
ASP.NET Web Forms
- Las plantillas de Web Forms muestran ahora cómo realizar la confirmación de cuenta y el restablecimiento de contraseña para ASP.NET Identity.
- El control de Origen de datos de entidad y el Proveedor de Dynamic Data para Entity Framework 6. Para más detalles, consulte el siguiente blog de MSDN: Proveedor de Dynamic Data y control EntityDataSource para Entity Framework 6.
ASP.NET MVC 5.1.2
- Mejoras en el enrutamiento de atributos
- Compatibilidad de Bootstrap con plantillas de editor
- Compatibilidad con enumeración en vistas
- Compatibilidad discreta con atributos MinLength/ MaxLength
- Compatibilidad con el contexto "this" en Ajax discreto
ASP.NET Web API 2.1.2
- Control de errores global
- Mejoras de enrutamiento de atributos
- Mejoras en la página de ayuda
- Compatibilidad con IgnoreRoute
- Formateador de tipo multimedia de BSON
- Mejor compatibilidad con filtros asincrónicos
- Análisis de consultas para la biblioteca de formato de cliente
ASP.NET Web Pages 3.1.2
Entity Framework 6.1
Entity Framework se ha actualizado a la versión 6.1 tanto para runtime como para herramientas. Entity Framework (EF) 6.1 es una actualización menor de Entity Framework 6 e incluye una serie de correcciones de errores y nuevas características. Para obtener información detallada sobre EF6 1, incluidos los vínculos a la documentación de las nuevas características, consulte Historial de versiones de Entity Framework. Las nuevas características de esta versión incluyen:
- La consolidación de herramientas proporciona una manera coherente de crear un nuevo modelo de EF. Esta característica amplía el asistente para Entity Data Model de ADO.NET para admitir la creación de modelos de Code First, incluida la ingeniería inversa de una base de datos existente. Estas características estaban disponibles anteriormente en calidad Beta en EF Power Tools.
- El control de errores de confirmación de transacciones proporciona el nuevo System.Data.Entity.Infrastructure.CommitFailureHandler que hace uso de la capacidad recién introducida para interceptar las operaciones de transacción. CommitFailureHandler permite la recuperación automática de errores de conexión mientras se confirma una transacción.
- IndexAttribute permite especificar índices colocando un atributo en una propiedad (o propiedades) en el modelo de Code First. A continuación, Code First creará un índice correspondiente en la base de datos.
- La API de asignación pública proporciona acceso a la información que EF tiene sobre cómo se asignan propiedades y tipos a columnas y tablas de la base de datos. En versiones anteriores, esta API era interna.
- La capacidad de configurar interceptores a través del archivo App/Web.config permite agregar interceptores sin volver a compilar la aplicación.
- DatabaseLogger es un nuevo interceptor que facilita el registro de todas las operaciones de base de datos en un archivo. En combinación con la característica anterior, esto le permite fácilmente activar el registro de las operaciones de la base de datos para una aplicación implementada, sin necesidad de volver a compilar.
- Se ha mejorado en gran medida la detección de cambios del modelo de migraciones para que las migraciones con scaffolding sean más precisas; también se ha mejorado el rendimiento del proceso de detección de cambios.
- Mejoras en el rendimiento, incluidas las operaciones de base de datos reducidas durante la inicialización, optimizaciones para la comparación de igualdad nula en consultas LINQ, generación de vistas más rápida (creación de modelos) en más escenarios y materialización más eficaz de entidades rastreadas con varias asociaciones.
ASP.NET Identity 2.0.0
Autenticación de dos factores: ASP.NET Identity ahora es compatible con la autenticación de dos factores. La autenticación de dos factores proporciona una capa adicional de seguridad a sus cuentas de usuario en el caso de que su contraseña se vea comprometida. También existe protección contra ataques de fuerza bruta contra los códigos de dos factores.
Bloqueo de cuenta: proporciona una forma de bloquear al usuario si escribe incorrectamente su contraseña o sus códigos de dos factores. Se puede configurar el número de intentos no válidos y el periodo de tiempo durante el cual los usuarios están bloqueados. Un desarrollador puede desactivar opcionalmente el Bloqueo de cuentas para determinadas cuentas de usuario en caso de que lo necesite.
Confirmación de cuenta: el sistema de ASP.NET Identity es ahora compatible con la Confirmación de cuenta. Se trata de un escenario bastante común en la mayoría de los sitios web de hoy en día en los que, cuando se registra para obtener una nueva cuenta en el sitio web, se le pide que confirme su correo electrónico antes de poder hacer nada en el sitio web. La confirmación por correo electrónico es útil porque evita que se creen cuentas falsas. El uso del correo electrónico es extremadamente útil si está usando el correo electrónico como método de comunicación con los usuarios de su sitio web, como sitios de foros, banca, comercio electrónico o sitios web sociales.
Restablecimiento de contraseña: el restablecimiento de contraseñas es una característica con la que el usuario puede restablecer sus contraseñas si las ha olvidado.
Sello de seguridad (cerrar sesión en todas partes): admite una manera de volver a generar el token de seguridad para el usuario en casos en los que el usuario cambia su contraseña o cualquier otra información relacionada con la seguridad, como quitar un inicio de sesión asociado (como Facebook, Google, cuenta Microsoft, etc.). Esto es necesario para asegurar que se invalidan el token generados con la contraseña antigua. En el proyecto de ejemplo, si cambia la contraseña del usuario, se genera un nuevo token para el usuario y se invalidan el token anteriores. Esta característica proporciona una capa adicional de seguridad a su aplicación, ya que cuando cambie su contraseña, se cerrará su sesión en todos los sitios (todos los demás exploradores) en los que haya iniciado sesión en esta aplicación.
Hacer que el tipo de clave principal sea extensible para Usuarios y roles: en ASP.NET Identity 1.0, el tipo de clave principal para la tabla Usuarios y roles era de cadenas. Esto significa que cuando el sistema de ASP.NET Identity se persistió en SQL Server usando Entity Framework, estábamos usando nvarchar. Hubo muchas discusiones en torno a esta implementación predeterminada en Stack Overflow y en base a los comentarios recibidos. Hemos proporcionado un enlace de extensibilidad en el que puede especificar cuál debe ser la clave principal de su tabla Usuarios y roles. Este enlace de extensibilidad es especialmente útil si va a migrar la aplicación y la aplicación estaba almacenando UserIds son GUID o ints.
Compatibilidad con IQueryable en Usuarios y roles: se ha agregado compatibilidad con IQueryable en UsersStore y RolesStore, puede obtener fácilmente la lista de Usuarios y roles.
Compatibilidad con la operación Delete a través de UserManager
Indexación en UserName: en la implementación de ASP.NET Identity Entity Framework, hemos agregado un índice único en el nombre de usuario usando el nuevo atributo IndexAttribute en EF 6.1.0. Esto asegura que los nombres de usuario sean siempre únicos y que no haya ninguna condición de carrera en la que se pueda acabar con nombres de usuario duplicados.
Validador de contraseñas mejorado: el validador de contraseñas que se incluía en ASP.NET Identity 1.0 era un validador de contraseñas bastante básico que solo validaba la longitud mínima. Hay un nuevo validador de contraseñas que le da más control sobre la complejidad de la contraseña. Tenga en cuenta que, aunque active todas las configuraciones de esta contraseña, le recomendamos que habilite la autenticación de dos factores para las cuentas de usuario.
IdentityFactory Middleware/ CreatePerOwinContext:
- Administrador de usuarios: puede usar la implementación de fábrica para obtener una instancia de UserManager desde el contexto de OWIN. Este patrón es similar al que usamos para obtener AuthenticationManager del contexto de OWIN para SignIn y SignOut. Esta es una forma recomendada de obtener una instancia de UserManager por solicitud de la aplicación.
- DbContextFactory: ASP.NET Identity usa Entity Framework para persistir el sistema de identidad en SQL Server. Para ello, el sistema de identidad tiene una referencia a ApplicationDbContext. El middleware de DbContextFactory devuelve una instancia de ApplicationDbContext por solicitud que usted puede usar en su aplicación.
Paquete NuGet de muestras para ASP.NET Identity: el paquete NuGet Samples puede facilitar la instalación y ejecución de muestras para ASP.NET Identity y seguir los procedimientos recomendados. Este es un ejemplo de aplicación de ASP.NET MVC. Modifique el código para que se adapte a la aplicación antes de implementarlo en producción. El ejemplo debería instalarse en una aplicación de ASP.NET vacía. Para más información sobre el paquete, vaya a la siguiente entrada de blog: Anuncio de RTM de ASP.NET Identity 2.0.0
Componentes de OWIN de Microsoft
En esta versión se han corregido muchos errores.
ASP.NET SignalR 2.0.2
En esta versión se han corregido muchos errores. Consulte las notas de la versión 2.0.2 para obtener información más detallada.