Notas de versão do ASP.NET and Web Tools 2013.2 para Visual Studio 2013
pela Microsoft
Notas de instalação
ASP.NET e Web Tools para Visual Studio 2013.2 são empacotados no instalador principal e podem ser baixados como parte do Visual Studio 2013 Update 2.
Documentação
Tutoriais e outras informações sobre ASP.NET e Web Tools para Visual Studio 2013.2 estão disponíveis no site ASP.NET.
Requisitos de software
ASP.NET e Web Tools para Visual Studio 2013.2 requer o Visual Studio 2013.
Novos recursos no ASP.NET e nas ferramentas da Web para Visual Studio 2013.2
As seções a seguir descrevem os recursos que foram introduzidos na versão.
- Modelos de projeto One ASP.NET
- Suporte SSL ao iniciar aplicativos Web no IIS Express
- Aprimoramentos do Editor Web do Visual Studio
- Link do navegador
- Suporte para Aplicativos Web do Serviço de Aplicativo do Azure no Visual Studio
- Criar recursos remotos do Azure ao criar um novo projeto Web
- Aprimoramentos de publicação na Web
- ASP.NET andaimes
- NuGet 2.8.1
- ASP.NET Web Forms
- ASP.NET MVC 5.1.2
- ASP.NET API Web 2.1.2
- ASP.NET Páginas da Web 3.1.2
- Entity Framework 6.1
- ASP.NET Identidade 2.0.0
- Componentes do Microsoft OWIN
- ASP.NET SignalR 2.0.2
Modelos de projeto One ASP.NET
- Atualizações nos modelos do ASP.NET Project para dar suporte à confirmação da conta e à redefinição de senha.
- Atualize ASP.NET modelo de API Web para dar suporte à autenticação usando Contas Organizacionais Locais.
- O modelo de SPA ASP.NET agora contém autenticação baseada em exibições do lado do servidor e do MVC. O modelo tem um controlador WebAPI que só pode ser acessado por usuários autenticados.
Suporte SSL ao iniciar aplicativos Web no IIS Express
Para eliminar o aviso de segurança ao navegar e depurar HTTPS no host local, adicionamos uma caixa de diálogo para permitir que o Internet Explorer e o Chrome confiem no certificado SSL expresso do IIS autoassinado.
Por exemplo, uma propriedade de projeto da Web pode ser definida para usar SSL. Clique em F4 para abrir a caixa de diálogo de propriedades. Altere SSL ativado para true. Copie a URL do SSL.
Defina a guia da Web da página de propriedades do projeto Web para usar a URL baseada em HTTPS (A URL SSL será https://localhost:44300/
, a menos que você tenha criado sites SSL anteriormente.)
Pressione CTRL+F5 para executar o aplicativo. Siga as instruções para confiar no certificado autoassinado que o IIS Express gerou.
Leia a caixa de diálogo Aviso de Segurança e clique em Sim se quiser instalar o certificado que representa o localhost.
O site será exibido no IE ou Chrome sem o aviso de certificado no navegador.
O Firefox usa seu próprio armazenamento de certificados, portanto, exibirá um aviso.
Aprimoramentos do Editor Web do Visual Studio
Novo item de projeto JSON e editor: adicionamos um item de projeto JSON e um editor ao Visual Studio. Os recursos atuais do editor JSON incluem colorização, validação de sintaxe, preenchimento de chaves, contorno, configuração de opções de ferramentas e muito mais.
O IntelliSense agora dá suporte ao esquema JSON v3 e v4. Há uma caixa de combinação de esquema para escolher esquemas existentes, editar o caminho do esquema local ou simplesmente arrastar e soltar um arquivo JSON do projeto para obter o caminho relativo.
Novo editor Sass (SCSS): adicionamos LESS no VS2013 RTM e agora temos um item e editor de projeto Sass. Os recursos do editor Sass são comparáveis ao editor LESS e incluem colorização, variável e Mixins IntelliSense, comentário / descomentário, informações rápidas, formatação, validação de sintaxe, esboço, definição goto, seletor de cores, configuração de opções de ferramentas, etc.
Novo seletor de URL em documentos HTML, Razor, CSS, LESS e Sass: o VS 2013 foi fornecido sem seletor de URL fora das páginas do Web Forms. O novo seletor de URL para editores HTML, Razor, CSS, LESS e Sass é um seletor de digitação fluente e sem diálogo que entende '..' e filtra as listas de arquivos adequadamente para tags e links img.
Atualizações no editor LESS adicionando mais recursos
Atualização do Knockout IntelliSense: adicionamos uma sintaxe KnockOut não padrão para o VS intelliSense, a sintaxe "ko-vs-editor viewModel:". Ele pode ser usado para vincular a vários modelos de exibição em uma página usando comentários no formulário:
Também adicionamos suporte para ViewModel IntelliSense aninhado, para que você possa detalhar objetos profundamente aninhados no ViewModel.
<div data-bind="text: foo.bar.baz.etc" />
O IntelliSense exibido é o IntelliSense completo do objeto JavaScript.
Novo seletor de URL em documentos HTML, Razor, CSS, LESS e Sass: o VS 2013 foi fornecido sem seletor de URL fora das páginas do Web Forms. O novo seletor de URL para editores HTML, Razor, CSS, LESS e Sass é um seletor de digitação fluente e sem diálogo que entende '..' e filtra as listas de arquivos adequadamente para tags e links img.
Link do navegador
- O Browser Link agora oferece suporte a conexões HTTPS e listará isso no Dashboard com outras conexões, desde que o certificado seja confiável para o navegador.
- Mapeamento de origem HTML estático
- Suporte de SPA para mapeamento de dados
- Atualizar automaticamente os dados de mapeamento
Suporte para Aplicativos Web do Serviço de Aplicativo do Azure no Visual Studio
- Suporte à entrada do Azure.
- Depuração remota e Modo de Exibição Remoto para aplicativos Web: agora damos suporte à depuração remota para aplicativos Web no Serviço de Aplicativo do Azure e à exibição remota de arquivos de conteúdo do aplicativo Web no gerenciador de servidores.
Criar recursos remotos do Azure ao criar um novo projeto Web
Adicionamos uma caixa de seleção "Criar recursos remotos" do Azure na caixa de diálogo do novo aplicativo Web. Ao escolhê-lo, você poderá integrar a experiência de criar um novo aplicativo Web, configurar o site de publicação do Azure para teste e criar o perfil de publicação em algumas etapas simples.
Aprimoramentos de publicação na Web
- Melhorar a experiência do usuário para publicação.
ASP.NET andaimes
- Suporte a enumeração: se o modelo estiver usando Enums, o Scaffolder MVC gerará a lista suspensa para Enum. Isso usa os auxiliares Enum no MVC.
- Suporte ao Bootstrap: atualizado o EditorFor modelos no MVC Scaffolding para que eles usem as classes Bootstrap.
- Suporte a pacotes: MVC e Web API Scaffolders adicionarão pacotes 5.1 para MVC e API Web
As capturas de tela a seguir demonstram modelos de andaimes.
Código do modelo:
Compile o código do modelo, clique com o botão direito do mouse e selecione Adicionar, Novo Item Scaffolded.
Escolha MVC5 Controller com exibições, usando o Entity Framework:
Adicione o controlador usando o modelo:
Verifique se o código gerado, por exemplo, Views/WeekdayModels/Edit.cshtml contém
@Html.EnumDropDownListFor
:Execute a página para ver a caixa de combinação de enumeração gerada, observe que, se um valor puder ser nulo, uma cadeia de caracteres vazia poderá ser escolhida para a caixa de combinação. Por exemplo, a página Criar mostra o seguinte:
NuGet 2.8.1
O NuGet 2.8.1 RTM será lançado em abril de 2014. Aqui estão os pontos mais importantes das notas de versão, mas verifique as notas de versão completas para obter mais informações sobre essas alterações.
Aplicativos de destino do Windows Phone 8.1: o NuGet 2.8.1 agora dá suporte ao direcionamento de aplicativos do Windows Phone 8.1 usando os monikers de estrutura de destino 'WindowsPhoneApp', 'WPA', 'WindowsPhoneApp81' e 'WPA81'.
Resolução de patch para dependências: ao resolver dependências de pacote, o NuGet implementou historicamente uma estratégia de selecionar a versão de pacote principal e secundária mais baixa que satisfaz as dependências no pacote. Ao contrário da versão principal e secundária, no entanto, a versão do patch sempre foi resolvida para a versão mais alta. Embora o comportamento tenha sido bem intencionado, criou uma falta de determinismo para instalar pacotes com dependências.
Opção DependencyVersion: embora o NuGet 2.8 altere o comportamento padrão para resolver dependências, ele também adiciona um controle mais preciso sobre o processo de resolução de dependência por meio da opção -DependencyVersion no console do gerenciador de pacotes. A comutação permite resolver dependências para a versão mais baixa possível (comportamento padrão), a versão mais alta possível ou a versão secundária ou de patch mais alta. Essa comutação só funciona para install-package no comando powershell.
Atributo DependencyVersion: além da opção -DependencyVersion detalhada acima, o NuGet também permitiu a capacidade de definir um novo atributo no arquivo nuget.config definindo qual é o valor padrão, se a opção -DependencyVersion não for especificada em uma invocação de install-package. Esse valor também será respeitado pela caixa de diálogo Gerenciador de Pacotes NuGet para quaisquer operações de install-package. Para definir esse valor, adicione o atributo abaixo ao arquivo nuget.config:
<config> <add key="dependencyversion" value="Highest" /> </config>
Visualizar operações do NuGet com -WhatIf: alguns pacotes NuGet podem ter gráficos de dependência profundos e, como tal, pode ser útil durante uma operação de instalação, desinstalação ou atualização ver primeiro o que acontecerá. O NuGet 2.8 adiciona o PowerShell padrão -what if switch para os comandos install-package, uninstall-package e update-package para habilitar a visualização de todo o fechamento de pacotes aos quais o comando será aplicado.
Pacote de downgrade: Não é incomum instalar uma versão de pré-lançamento de um pacote para investigar novos recursos e, em seguida, decidir reverter para a última versão estável. Antes do NuGet 2.8, esse era um processo de várias etapas de desinstalação do pacote de pré-lançamento e suas dependências e, em seguida, a instalação da versão anterior. Com o NuGet 2.8, no entanto, o pacote de atualização agora reverterá todo o fechamento do pacote (por exemplo, a árvore de dependências do pacote) para a versão anterior.
Dependências de desenvolvimento: muitos tipos diferentes de recursos podem ser entregues como pacotes NuGet, incluindo ferramentas usadas para otimizar o processo de desenvolvimento. Esses componentes, embora possam ser instrumentais no desenvolvimento de um novo pacote, não devem ser considerados uma dependência do novo pacote quando ele for publicado posteriormente. O NuGet 2.8 permite que um pacote se identifique no arquivo .nuspec como um developmentDependency. Quando instalados, esses metadados também serão adicionados ao arquivo packages.config do projeto no qual o pacote foi instalado. Quando esse arquivo packages.config for analisado posteriormente em busca de dependências do NuGet durante nuget.exe pacote, ele excluirá as dependências marcadas como dependências de desenvolvimento.
Arquivos packages.config individuais para plataformas diferentes: ao desenvolver aplicativos para várias plataformas de destino, é comum ter arquivos de projeto diferentes para cada um dos respectivos ambientes de compilação. Também é comum consumir diferentes pacotes NuGet em diferentes arquivos de projeto, pois os pacotes têm níveis variados de suporte para diferentes plataformas. O NuGet 2.8 fornece suporte aprimorado para esse cenário criando diferentes arquivos packages.config para diferentes arquivos de projeto específicos da plataforma.
Fallback para o cache local: embora os pacotes NuGet normalmente sejam consumidos de uma galeria remota, como a galeria NuGet, usando uma conexão de rede, há muitos cenários em que o cliente não está conectado. Sem uma conexão de rede, o cliente NuGet não conseguiu instalar pacotes com êxito, mesmo quando esses pacotes já estavam na máquina do cliente no cache local do NuGet. O NuGet 2.8 adiciona fallback automático de cache ao console do gerenciador de pacotes.
O recurso de fallback de cache não requer nenhum argumento de comando específico. Além disso, o fallback de cache atualmente funciona apenas no console do gerenciador de pacotes: o comportamento não funciona atualmente na caixa de diálogo do gerenciador de pacotes.
Correções de bugs: Uma das principais correções de bugs feitas foi a melhoria de desempenho no comando update-package -reinstall.
Além desses recursos e da correção de desempenho mencionada, esta versão do NuGet também inclui muitas outras correções de bugs. Foram 181 problemas totais resolvidos na versão. Para obter uma lista completa dos itens de trabalho corrigidos no NuGet 2.8, consulte o Rastreador de Problemas do NuGet para esta versão.
ASP.NET Web Forms
- Os modelos de Web Forms agora mostram como fazer a confirmação da conta e a redefinição de senha para ASP.NET identidade.
- O controle Fonte de Dados da Entidade e o Provedor de Dados Dinâmicos para o Entity Framework 6. Para obter mais detalhes, consulte o seguinte blog do MSDN: Provedor de dados dinâmicos e controle EntityDataSource para Entity Framework 6.
ASP.NET MVC 5.1.2
- Melhorias no roteamento de atributos
- Suporte de bootstrap para modelos de editor
- Suporte a enumeração em exibições
- Suporte discreto para atributos MinLength/MaxLength
- Apoiando o contexto 'this' no Undisctrusive Ajax
ASP.NET API Web 2.1.2
- Tratamento global de erros
- Aprimoramentos de roteamento de atributo
- Melhorias na página de ajuda
- Suporte a IgnoreRoute
- Formatador de tipo de mídia BSON
- Melhor suporte para filtros assíncronos
- Análise de consulta para a biblioteca de formatação do cliente
ASP.NET Páginas da Web 3.1.2
Entity Framework 6.1
O Entity Framework foi atualizado para a versão 6.1 para runtime e ferramentas. O EF (Entity Framework) 6.1 é uma atualização secundária do Entity Framework 6 e inclui várias correções de bugs e novos recursos. Para obter informações detalhadas sobre o EF6.1, incluindo links para a documentação dos novos recursos, consulte Histórico de versões do Entity Framework. Os novos recursos desta versão incluem:
- A consolidação de ferramentas fornece uma maneira consistente de criar um modelo de EF. Esse recurso estende o assistente de Modelo de Dados de Entidade ADO.NET para dar suporte à criação de modelos Code First, incluindo engenharia reversa de um banco de dados existente. Esses recursos estavam disponíveis anteriormente na qualidade Beta no EF Power Tools.
- O tratamento de falhas de confirmação de transação fornece o novo System.Data.Entity.Infrastructure.CommitFailureHandler , que usa a capacidade recém-introduzida de interceptar operações de transação. O CommitFailureHandler permite a recuperação automática de falhas de conexão durante a confirmação de uma transação.
- IndexAttribute permite que os índices sejam especificados colocando um atributo em uma propriedade (ou propriedades) em seu modelo do Code First. O Code First criará um índice correspondente no banco de dados.
- A API de mapeamento pública fornece acesso às informações que o EF tem sobre como as propriedades e os tipos são mapeados para colunas e tabelas no banco de dados. Em versões anteriores, essa API era interna.
- Capacidade de configurar interceptores por meio do arquivo App/Web.config (permitindo que interceptores sejam adicionados sem recompilar o aplicativo).
- DatabaseLogger é um novo interceptor que facilita o registro de todas as operações de banco de dados em um arquivo. Em combinação com o recurso anterior, isso permite a você ativar facilmente o registro em log de operações de banco de dados para um aplicativo implantado, sem a necessidade de recompilar.
- A detecção de alterações do modelo de migrações foi aprimorada para que as migrações de scaffolded sejam mais precisas; o desempenho do processo de detecção de alterações também foi bastante aprimorado.
- Aprimoramentos de desempenho incluindo operações de banco de dados reduzidas durante a inicialização, otimizações para comparação de igualdade nula em consultas LINQ, geração de exibição mais rápida (criação de modelo) em mais cenários e materialização mais eficiente de entidades controladas com várias associações.
ASP.NET Identidade 2.0.0
Autenticação de dois fatores: ASP.NET Identity agora oferece suporte à autenticação de dois fatores. A autenticação de dois fatores fornece uma camada extra de segurança para suas contas de usuário no caso de sua senha ser comprometida. Também há proteção para ataques de força bruta contra os códigos de dois fatores.
Bloqueio de conta: fornece uma maneira de bloquear o usuário se o usuário inserir sua senha ou códigos de dois fatores incorretamente. O número de tentativas inválidas e o intervalo de tempo para os usuários bloqueados podem ser configurados. Opcionalmente, um desenvolvedor pode desativar o bloqueio de conta para determinadas contas de usuário, caso seja necessário.
Confirmação de conta: O sistema de identidade ASP.NET agora oferece suporte à confirmação de conta. Este é um cenário bastante comum na maioria dos sites hoje, onde, quando você se registra para uma nova conta no site, é necessário confirmar seu e-mail antes de poder fazer qualquer coisa no site. A confirmação por e-mail é útil porque impede a criação de contas falsas. Isso é extremamente útil se você estiver usando o e-mail como um método de comunicação com os usuários do seu site, como sites de fórum, bancos, comércio eletrônico ou sites sociais.
Redefinição de senha: A redefinição de senha é um recurso em que o usuário pode redefinir suas senhas caso tenha esquecido sua senha.
Selo de segurança (sair em todos os lugares): Suporta uma maneira de regenerar o token de segurança para o usuário nos casos em que o usuário altera sua senha ou qualquer outra informação relacionada à segurança, como remover um login associado (como Facebook, Google, conta da Microsoft e assim por diante). Isso é necessário para garantir que todos os tokens gerados com a senha antiga sejam invalidados. No projeto de exemplo, se você alterar a senha do usuário, um novo token será gerado para o usuário e todos os tokens anteriores serão invalidados. Esse recurso fornece uma camada extra de segurança ao seu aplicativo, pois quando você altera sua senha, você será desconectado de todos os lugares (todos os outros navegadores) onde fez login neste aplicativo.
Tornar o tipo de chave primária extensível para usuários e funções: ASP.NET Identity 1.0, o tipo de chave primária para a tabela Users e Roles era strings. Isso significa que quando o sistema ASP.NET Identity foi persistido no SQL Server usando o Entity Framework, estávamos usando nvarchar. Houve muitas discussões sobre essa implementação padrão no Stack Overflow e com base nos comentários recebidos. Fornecemos um gancho de extensibilidade em que você pode especificar qual deve ser a chave primária da tabela Usuários e Funções. Esse gancho de extensibilidade é particularmente útil se você estiver migrando seu aplicativo e o aplicativo estiver armazenando UserIds são GUIDs ou ints.
Suporte IQueryable em usuários e funções: adicionado suporte para IQueryable em UsersStore e RolesStore, você pode obter facilmente a lista de usuários e funções.
Suporte à operação de exclusão por meio do UserManager
Indexação no UserName: na implementação ASP.NET Identity Entity Framework, adicionamos um índice exclusivo no nome de usuário usando o novo IndexAttribute no EF 6.1.0. Isso garante que os nomes de usuário sejam sempre exclusivos e que não haja nenhuma condição de corrida na qual você possa acabar com nomes de usuário duplicados.
Validador de senha aprimorado: o validador de senha que foi enviado no ASP.NET Identity 1.0 era um validador de senha bastante básico que validava apenas o comprimento mínimo. Há um novo validador de senha que oferece mais controle sobre a complexidade da senha. Observe que, mesmo que você ative todas as configurações dessa senha, recomendamos que você ative a autenticação de dois fatores para as contas de usuário.
Middleware IdentityFactory/ CreatePerOwinContext:
- Gerenciador de usuários: você pode usar a implementação do Factory para obter uma instância do UserManager do contexto do OWIN. Esse padrão é semelhante ao que usamos para obter o AuthenticationManager do contexto OWIN para SignIn e SignOut. Essa é uma maneira recomendada de obter uma instância do UserManager por solicitação para o aplicativo.
- DbContextFactory: ASP.NET Identity usa o Entity Framework para persistir o sistema de identidade no SQL Server. Para fazer isso, o Sistema de Identidade tem uma referência ao ApplicationDbContext. O Middleware DbContextFactory retorna uma instância do ApplicationDbContext por solicitação que você pode usar em seu aplicativo.
ASP.NET pacote NuGet de Exemplos de Identidade: o pacote NuGet de Exemplos pode facilitar a instalação e a execução de exemplos para ASP.NET Identidade e seguir as práticas recomendadas. Este é um exemplo ASP.NET aplicativo MVC. Modifique o código para se adequar ao seu aplicativo antes de implantá-lo em produção. O exemplo deve ser instalado em um aplicativo ASP.NET vazio. Para obter mais informações sobre o pacote, acesse a seguinte postagem no blog: Anunciando o RTM do ASP.NET Identity 2.0.0
Componentes do Microsoft OWIN
Houve muitos bugs que foram corrigidos nesta versão.
ASP.NET SignalR 2.0.2
Houve muitos bugs que foram corrigidos nesta versão. Consulte as notas de lançamento da versão 2.0.2 para obter informações mais detalhadas.