Notas sobre a versão do Visual Studio 2017 versão 15.5
Comunidade de Desenvolvedores | Requisitos do sistema | Compatibilidade | Código distribuível | Termos de licença | Blogs | Problemas conhecidos
Observação
Esta não é a versão mais recente do Visual Studio. Para baixar a última versão, acesse o site do Visual Studio.
Período de suporte
Essa versão está agora sem suporte. Para obter mais informações sobre suporte do Visual Studio, revise a Política de Suporte do Visual Studio 2017.
Consulte a última versão das notas sobre a versão ou acesse o site do Visual Studio para baixar a última versão com suporte do Visual Studio 2017.
Blog do Visual Studio
O Blog do Visual Studio é a fonte oficial de insights do produto da equipe de engenharia do Visual Studio. É possível encontrar informações aprofundadas sobre as versões do Visual Studio versão 15.5 nas postagens a seguir:
- Visual Studio 2017 versão 15.5 -- Leia a última postagem no blog!
Versões do Visual Studio 2017 versão 15.5
- 20 de fevereiro de 2018 – Visual Studio 2017 versão 15.5.7
- 29 de janeiro de 2018 – Visual Studio 2017 versão 15.5.6
- 25 de janeiro de 2018 – Visual Studio 2017 versão 15.5.5
- 16 de janeiro de 2018 – Visual Studio 2017 versão 15.5.4
- 9 de janeiro de 2018 – Visual Studio 2017 versão 15.5.3
- 14 de dezembro de 2017 – Visual Studio 2017 versão 15.5.2
- 7 de dezembro de 2017 – Visual Studio 2017 versão 15.5.1
- 4 de dezembro de 2017 – Visual Studio 2017 versão 15.5
Resumo dos novos recursos importantes na versão 15.5
- Adicionamos confiabilidade e capacidade de cancelamento ao instalador do IDE do Visual Studio.
- Atualizamos a caixa de diálogo erro para exibir mais informações para ajudar a resolver problemas de instalação.
- Reduzimos os tempos de carregamento de grandes projetos em C# e Visual Basic.
- Agora você pode trabalhar com submódulos e árvores de trabalho do Git e configurar
fetch.prune
epull.rebase
no Team Explorer. - Encontre informações nas comunicados de segurança do .NET Core e do ASP.NET Core.
- O conjunto de ferramentas do compilador MSVC foi atualizado para a versão 14.12.
- O Compilador C# agora é compatível com o conjunto de recursos de linguagem 7.2.
- Adicionamos suporte do projeto do SDK do .NET Core para ferramentas de F# e alteramos a maneira como você adquire o F#.
- Adicionamos melhorias do Visual C++ à biblioteca de modelos padrão.
- Melhoramos a formatação de sintaxe Razor nas ferramentas da Web do Visual Studio.
- Os contêineres do docker agora dão suporte a Dockerfiles de vários estágios.
- Agora você tem suporte a Angular 2 para arquivos de modelo embutidos e .ngml.
- Agora você pode abrir projetos exportados do compilador online do ARM no Visual Studio.
- A pasta aberta agora permite que as tarefas remotas usem qualquer sistema de build remoto ou executem comandos arbitrários.
- Adicionamos suporte ao Código-fonte inserido durante a depuração e suporte a Editar e Continuar para PDBs inseridos.
- A referência de serviço Web WCF para .NET Core agora é parte do Visual Studio 15.5.
- Você pode depurar aplicativos de produção com o Depurador de Instantâneo.
- Agora o recurso de Depuração de retrocesso do IntelliTrace é compatível.
- Você pode acessar recursos do Azure do Visual Studio com o Acesso Condicional habilitado.
- Projetos de suplemento da Web do Office e projetos do VSTO agora dão suporte ao desenvolvimento com o Office na Windows Store.
- As Ferramentas do Visual Studio para Xamarin contêm suporte atualizado para o SDK do Xamarin para iOS e Android.
- Projetos do Unity agora são automaticamente recarregados no Visual Studio quando você adiciona ou remove um script Unity.
- O Gerenciador de Testes agora é compatível com a estrutura do Google Test por padrão.
- Agora é possível visualizar XAML de maneira dinâmica ao digitar no Android Emulator.
- O Projeto de Empacotamento do Windows agora permite incluir componentes UWP como:
BackgroundTasks
,AppServiceConnection
ouFullTrustProcessLauncher
. - Agora você pode configurar a entrega contínua do fluxo de trabalho de projeto para implantar seu projeto automaticamente para o Azure a cada alteração de código no seu repositório.
Principais problemas corrigidos na versão 15.5
Estes são os problemas relatados pelo cliente abordados nesta versão:
- Salvar todos tenta salvar guias de consulta .sql fechadas.
- arquivos de bin\roslyn bloqueados durante o build.
- Desde o Visual Studio 2017 versão 15.3, os pontos de interrupção não funcionam quando o conjunto de caracteres do arquivo não é o mesmo que aquele em .editorconfig (utf8 ou utf8-bom).
- O pacote 'Microsoft.Net.4.6.FullRedist.NonThreshold,version=4.6.81.9' falha ao reparar.
- O Visual Studio 2017 tem um conflito com o OneDrive sob demanda (Windows 10 Insider build).
- Erro de Acesso Negado ao criar chaves do Registro no Windows 7.
- Uma página inicial desabilitada é aberta quando o projeto é fechado.
- Ícones ausentes após a atualização.
- Lentidão no Visual Studio 2017 durante a depuração de ASP.NET.
- Lentidão na compilação do Visual Studio 2017.
- O Visual Studio pode congelar ou falhar durante a execução em um computador habilitado para caneta.
Veja todos os problemas relatados pelo cliente corrigidos no Visual Studio 2017 versão 15.5.
Detalhes das novidades na versão 15.5
Visual Studio 2017 versão 15.5.0
lançado em 4 de dezembro de 2017
Novos recursos na versão 15.5
Visual Studio IDE
Instalar e configurar
- Agora, o instalador gera um ponto de restauração do Windows durante a instalação.
- Adicionar e remover programas agora tem entradas para cada instalação do Visual Studio. O Instalador do Visual Studio agora é compatível com modificação e desinstalação para cada entrada.
- Instalar de um layout offline não requer mais a instalação de certificados intermediários em um computador desconectado.
- Adicionamos melhorias de confiabilidade e de capacidade de cancelamento no processo de instalação e atualização.
Caixa de diálogo de Erro Atualizada
Atualizamos a caixa de diálogo de erro para exibir mais informações para ajudar a resolver problemas de instalação usando as possíveis soluções da comunidade de desenvolvedor do Visual Studio. (Figura 1).
Desempenho
- Reduzimos os tempos de carregamento de grandes projetos em C# e Visual Basic.
- Redução do tempo para mudar as configurações entre depuração e liberação.
- Redução do tempo para adicionar, remover e renomear arquivos e pastas nos projetos do .NET Core.
- O LSL (Carregamento da Solução Leve) foi preterido porque o tempo de carregamento da solução sem o LSL foi reduzido.
Serviços Conectados
- Atualizamos o provedor de serviços de Armazenamento do Azure para dar suporte a projetos ASP.NET Core que têm o .NET Core como destino.
Atualizações do Team Explorer
As atualizações mais recentes para o Team Explorer têm sido inspiradas pelos seus comentários sobre o UserVoice.
Agora você pode trabalhar com submódulos e árvores de trabalho do Git e configurar fetch.prune
e pull.rebase
no Team Explorer.
O Visual Studio agora trata árvores de trabalho e submódulos do Git como repositórios normais. Basta adicioná-los à lista de repositórios locais e obter codificação!
Observe que para submódulos, você ainda não pode executar nenhuma ação que exija suporte a vários repositórios (como exibir um arquivo no repositório pai e um arquivo no submódulo ao mesmo tempo).
Além disso, agora é mais fácil definir o comportamento padrão de Git para remover em cada busca e trocar de base em cada pull. A remoção em cada busca remove branches de acompanhamento locais que não existem mais no servidor e ajuda você a manter sua lista de branches limpa e atualizada. A troca de base em cada pull mantém o histórico de confirmação linear e fácil de seguir. Você pode encontrar essas opções nas Configurações Globais e do Repositório.
Comunicados de Segurança do .NET Core e do ASP.NET Core
A Microsoft liberou os comunicados de segurança do .NET Core e do ASP.NET Core. Mais detalhes estão disponíveis nos anúncios correspondentes nos repositórios do .NET Core e do ASP.NET Core. Observe as seguintes informações:
CVE-2017-8585 Certificado Incorreto pode causar Negação de Serviço: há uma vulnerabilidade na segurança do .NET Core 1.0, 1.1 e 2.0, em que um certificado incorreto ou outros dados formatados em ASN.1 podem gerar uma negação de serviço por meio de um loop infinito no Linux ou no macOS. É recomendável que os administradores do sistema atualizem os runtimes do .NET Core para as versões 1.0.8, 1.1.5 e 2.0.1. Os desenvolvedores são aconselhados a atualizar o SDK do .NET Core para a versão 2.0.3 ou 1.1.5.
CVE-2017-8700 Ignorar o CORS pode habilitar a Divulgação de Informações: há uma vulnerabilidade na segurança no ASP.NET Core 1.0 e 1.1, em que o CORS (Compartilhamento de Recursos entre Origens) pode ser ignorado, levando à divulgação de informações.
CVE-2017-11879 Redirecionamento Aberto pode gerar Elevação de Privilégio: há uma vulnerabilidade na segurança no ASP.NET Core 2.0, em que o Redirecionamento Aberto existe, gerando uma Elevação de Privilégio.
CVE-2017-11770 Vulnerabilidade na Negação de Serviço: há uma vulnerabilidade na segurança no ASP.NET Core 1.0, 1.1 e 2.0; o aplicativo é hospedado por meio do Http.Sys do Windows, e uma solicitação incorreta pode levar a uma Negação de Serviço.
Agora os novos projetos criados com ASP.NET Core 1.0, ASP.NET Core 1.1 e ASP.NET Core 2.0 usam versões de pacote que incluem as atualizações de segurança mencionadas acima. Quanto aos projetos existentes, os usuários podem atualizar os pacotes para as versões mais recentes usando o diálogo Gerenciar Pacotes do NuGet.
Conjunto de ferramentas de compilador MSVC
No Visual Studio 2017 15.5, o conjunto de ferramentas de compilador MSVC em Ferramentas de Build foi atualizado para a versão 14.12, que é compatível com o conjunto de ferramentas 14.11 da versão 15.4. Se você encontrar um problema ao compilar seu código após atualizar para o Visual Studio 2017 15.5, você poderá forçar a instalação do conjunto de ferramentas 14.11 lado a lado com o conjunto de ferramentas 14.12. O conjunto de ferramentas (14.11) do Visual Studio 2017 15.4 pode ser selecionado sob a guia Componentes Individuais, depois de instalar a carga de trabalho de área de trabalho do C++.
Novidades do Compilador de C#
O compilador C# agora é compatível com o conjunto de recursos de linguagem 7.2, incluindo:
- Suporte ao tipo
Span<T>
que está sendo usado em todo o Kestrel e CoreFX por meio do modificadorref struct
. - Modificador
readonly struct
: impõe que todos os membros de um struct sãoreadonly
. Isso adiciona uma camada de correção para o código e também permite que o compilador evite a cópia desnecessária de valores de durante o acesso a membros. in
parâmetros/ref readonly
retornos: permite que structs não modificáveis com segurança sejam passados e retornados com a mesma eficiência de valoresref
modificáveis.- Modificador de acesso
private protected
: restringe o acesso à interseção deprotected
einternal
. - Argumentos nomeados não à direita: argumentos nomeados agora podem ser usados no meio de uma lista de argumentos sem a necessidade de que todos os argumentos a seguir também sejam passados pelo nome.
Ferramentas do Visual Studio para Xamarin
Essa versão contém suporte atualizado para o SDK do Xamarin para iOS e Android:
Exibição Atual da Execução Dinâmica
A criação de interfaces do usuário baseadas em XAML ficou ainda mais fácil com a nova funcionalidade Exibição Atual da Execução Dinâmica (Figura 2). Veja a interface do usuário tomar forma conforme você digita no Android Emulator, sem precisar salvar, compilar nem reimplantar o aplicativo.
Xamarin Live Player
O Xamarin Live Player permite que desenvolvedores implantem, testem e depurem de maneira contínua aplicativos diretamente em dispositivos iOS e Android. Depois de baixar o aplicativo Xamarin Live Player (disponível na App Store ou no Google Play), você poderá emparelhar o dispositivo com o Visual Studio e começar a criar aplicativos móveis usando apenas o Visual Studio e o dispositivo móvel. Otimizado para Xamarin.Forms, agora você pode modificar seu XAML e ver as alterações refletidas em momentos em seu dispositivo sem precisar compilar ou aguardar uma implantação completa. Esta versão apresenta vários aprimoramentos à funcionalidade do Xamarin Live, incluindo:
- Execução dinâmica e depuração mais inteligente: agora o Live Player ajusta automaticamente o projeto de inicialização à plataforma correta ao depurar no Xamarin Live Player (Figura 3). Por exemplo, se iOS está selecionado e o dispositivo do Live Player que é emparelhado é um Google Pixel, o IDE recomendará alterar seu projeto de inicialização para o Android.
- Status da implantação: agora você pode acompanhar o status de "Depuração" para o Xamarin Live Player com os status de implantação na barra de status.
- Console e integração de janela de erro: a saída registrada em log no aplicativo é exibida na janela do Console e os erros aparecerão na janela de Erros no Visual Studio.
- Menu de contexto de execução dinâmica e Atalho de teclado: queríamos tornar mais fácil visualizar instantaneamente sua interface do usuário XAML, portanto, adicionamos um menu de contexto e um atalho de teclado para tornar a visualização de páginas XAML rápida e fácil.
- Alternância entre documentos na execução dinâmica: ao criar interfaces do usuário, é comum alternar entre documentos XAML diferentes. Ao mudar o documento ativo no Visual Studio, a execução dinâmica de qualquer página XAML aberta é automática. Com isso, é possível mudar para páginas diferentes com facilidade e fazer com que elas sejam refletidas no seu dispositivo instantaneamente.
Modelos
Arquivo -> Novo Projeto -> Aplicativo Móvel (Figura 4) ficou mais fácil com as atualizações para o assistente de modelo multiplataforma para aplicativos iOS, Android e Windows, incluindo:
- Suporte ao .NET Standard – agora você pode criar um novo aplicativo Xamarin multiplataforma que usa o .NET Standard 2.0 como uma estratégia de compartilhamento de código.
- Caixa de seleção Plataformas de Destino – selecione quais plataformas importantes são para você em Arquivo -> Novo.
PackageReference
– todos os modelos padrão agora usamPackageReference
por padrão, uma nova e fácil maneira de gerenciar pacotes do NuGet em seus aplicativos Xamarin.- Aprimoramentos de desempenho de desdobramento – o desdobramento de modelos agora deve ser muito mais rápido do que antes. Nos casos mais extremos, você verá uma melhoria de até 40x no tempo de desdobramento.
Simulador de iOS Remoto
O Simulador de iOS Remoto fornece uma maneira mais fácil de depurar e de testar aplicativos do iOS no simulador totalmente no Visual Studio no Windows. Compatível com tudo o que o Simulador de iOS no Mac pode fazer e até mais, incluindo compatibilidade a multitoque. Do Visual Studio 2017 versão 15.5 em diante, o Simulador de iOS Remoto agora está disponível em todas as edições do Visual Studio, incluindo a edição Community gratuita.
Gerenciador de SDK do Xamarin Android
Gerenciar seus SDKs do Android ficou mais fácil com o novo Gerenciador de SDK do Xamarin Android. Você pode usar o novo Gerenciador de SDK indo para Ferramentas -> Android -> Gerenciador de SDK Android no Visual Studio.
Aprimoramento de ferramentas do F#
Na versão 15.5 do Visual Studio 2017, nos concentramos em suporte a ferramentas de F# para projetos de SDK do .NET Core. Agora há suporte para o seguinte:
- Você pode criar novos aplicativos de console .NET Core, bibliotecas .NET Standard e projetos de teste de unidade do .NET Core de Arquivo > Novo Projeto.
- Adicionamos suporte para projetos existentes do .NET Core e do .NET Standard.
- Adicionamos suporte para projetos de SDK do .NET Core existentes que se destinam a uma versão do .NET Framework.
- Há suporte para referências de projeto a projeto.
- Adicionamos suporte para projetos de SDK da Web (por exemplo, os projetos do ASP.NET Core em F# ou um projeto usando o modelo Giraffe).
- Agora você pode clicar com o botão direito do mouse em Publicar ferramentas com projetos de SDK da Web.
- Há suporte para geração automática de um pipeline de CI/CD com ferramentas do Visual Studio Team Services.
Também houve algumas melhorias para as ferramentas do Visual F# que não se concentram em projetos de SDK do .NET Core. Elas incluem:
- Ir para definição de F# para C#, por Saul Rennison e Vasily Kirichenko.
- Colorização para Azul (Contraste Extra), pela Microsoft e Vasily Kirichenko.
- Agora as páginas de propriedades dimensionam-se automaticamente de modo correto em monitores diferentes.
- Recuo automático inteligente para novas linhas quando o recuo está definido para "Inteligente", por Duc Nghiem Xuan.
- Remoção automática de recuo para colchetes de fechamento quando o recuo está definido para "Inteligente", por Saul Rennison.
- Campos de enumeração agora podem ser vistos como símbolos em dicas de ferramentas, Localizar Todas as Referências, Ir para Todos e Renomeação Embutida, por Vasily Kirichenko.
- Comentários da documentação XML separados por novas linhas não são pré-anexados ao comentário da documentação XML atual em focalizações, por Vasily Kirichenko.
- A documentação XML para a palavra-chave ref foi corrigida por CHBen.
- Várias correções de bug e melhorias de desempenho.
Envie todos os problemas encontrados em nosso repositório do GitHub.
Alterações na configuração do F#
Alteramos a maneira em que você adquire o F#:
- Se você instalar uma carga de trabalho que requer o .NET Core 2.0, ela também instalará o suporte à linguagem F# por padrão. As cargas de trabalho do .NET Core, ASP.NET e Azure agora fazem isso.
- As caixas de seleção "suporte à linguagem F#" em Desenvolvimento para desktop com o .NET, em Processamento e armazenamentos de dados e em Cargas de trabalho de aplicativos de ciência de dados e de análise foram renomeadas para "Suporte a desktop do F#".
Aprimoramento do compilador F# 4.1
Há inúmeras correções de bug no compilador F# 4.1 com esta versão:
- Melhorias para a geração de PDB no compilador F#, corrigindo cinco problemas na depuração de F# conhecidos desde 2014.
- Uma correção para a resolução incorreta de campos de registro pelo compilador, por Vasily Kirichenko.
- Agora o
StartAsTask
aguarda adequadamente a conclusão do cancelamento, por Matthias Ditrich. - Referências de assembly agora são criadas quando um tipo é usado em apenas um atributo.
- Uniões discriminadas de caso único de struct com o mesmo nome de caso não são mais convertidas silenciosamente em um tipo de objeto.
- Um loop assíncrono interminável possível em
MailboxProcess
. O recebimento foi corrigido.
Melhorias do Visual C++
Agora é possível importar projetos existentes e configurações de cache do CMake para o IDE em Arquivo>Abrir>CMake.
Abrir a Pasta de Suporte para Exportações de Compilador Online ARM
Escolha a opção na carga de trabalho Linux C++ para projetos inseridos e projetos IoT e você poderá editar e compilar projetos direcionados a microcontroladores ARM. Damos suporte a projetos de abertura exportados como GCC do compilador online ARM, no qual pode ser realizada uma compilação cruzada localmente do Visual Studio. Para obter mais informações, consulte nossa postagem de blog em Visual C++ para desenvolvimento de ARM.
Tarefas Remotas
A pasta aberta agora é compatível com as tarefas remotas. Essas são tarefas executadas em um sistema remoto por SSH (Secure Shell). Essas tarefas também podem ser configuradas para copiar arquivos para o computador de destino para fazer coisas como compilar código com make em um sistema Linux. Para obter mais informações, consulte nossa postagem de blog em usando tarefas remotas no Visual Studio.
Aprimoramentos para a Biblioteca de Modelos Padrão
O site Padrões Abertos contém um número de páginas para grupos produzindo os padrões abertos. Adicionamos essa melhorias para a Biblioteca de Modelos Padrão com relação ao padrão C++17:
not_fn()
: P0005R4 recomenda a adoção do associador de funçãonot_fn
dos Princípios básicos de biblioteca TS v2 como uma substituição para os antigos negadores,not1
enot2
.- Reformulação
enable_shared_from_this
: P0033R1Re-enabling shared_from_this
. - Preterindo partes residuais da biblioteca: P0174R2. Uma série de recursos da biblioteca padrão C++ foram ultrapassados por adições ao longo dos anos ou descobrimos que eles não atendem a sua finalidade pretendida tão bem quanto esperado. Este documento propôs preterir recursos para os quais há opções melhores, mais simples ou mais claras disponíveis.
- Removendo o suporte ao alocador em
std::function
: P0302R1. O modelo de classe std::function tem vários construtores que usam um argumento de alocador, mas a semântica não é clara e há problemas técnicos em armazenar um alocador em um contexto com tipo apagado e recuperar esse alocador posteriormente para qualquer alocação necessária durante a atribuição de cópia. Esses construtores devem ser removidos. - Correções para
not_fn()
: P0358R1. Foi proposta uma nova escrita parastd::not_fn
que, entre outras melhorias, dá suporte à propagação de categoria de valor no caso de invocação do wrapper. shared_ptr<T[]>
,shared_ptr<T[N]>
: P0414R2. Mesclando alterações doshared_ptr
dos Princípios básicos de biblioteca para o C++17.- Corrigir
shared_ptr
para matrizes: P0497R0. Correções ao suporte deshared_ptr
para matrizes. - Preterindo
shared_ptr::unique()
: P0521R0. Solução proposta para AC 14 (shared_ptr use_count/unique
). - Preterir
codecvt
: P0618R0,<codecvt>
não é a melhor maneira de tratar a transcodificação de Unicode. Esse componente de biblioteca deve ser desativado para o Anexo D. - Removendo Especificações de Exceção Dinâmica: P0003R5. As especificações de exceções dinâmicas foram preteridas no C++11. Removendo o recurso do C++17 enquanto se retém a especificação throw() (ainda) preterida estritamente como um alias para noexcept(true).
- Unindo mapas e conjuntos: P0083R3. Esse design permite operações de união de todos os tipos, movendo elementos (incluindo chaves do mapa) para fora do contêiner e um número de outras operações e designs úteis. Ele é uma otimização para os contêineres associativos e não ordenados para dar suporte à manipulação de nós. Isso é uma adição pura à biblioteca padrão.
- Esclarecendo
insert_return_type
: P0508R0. Os contêineres associativos e não ordenados, ambos com chaves exclusivas, têm uma função de membro insert que retorna um tipo aninhadoinsert_return_type
. Esse tipo de retorno é uma especialização do tipo especificado nesta seção. - Variáveis embutidas para a STL: P0607R0.
Melhorias do compilador Visual C++
O compilador Visual C++ é compatível com cerca de 75% dos recursos do C++17, incluindo associações estruturadas, lambdas constexpr
, if constexpr
, variáveis embutidas, expressões de dobra, literais de ponto flutuante hexadecimais e adição de noexcept
ao tipo sistema. Eles estão disponíveis na opção /std:c++17
. O modo de conformidade /permissive-
inclui suporte parcial para pesquisa de nome em duas fases e suporte a expansão de pacote aprimorada para modelos variadic. Além disso, o modo /permissive-
foi adicionado como um novo menu suspenso Linguagem nas propriedades do projeto para projetos C++.
Melhorias do Otimizador do Visual C++
A equipe de geração de código C++ fez aprimoramentos às otimizações de compilador existentes e adicionou novas otimizações à versão 15.5.
Selecione os aprimoramentos do vinculador:
- Você experimentará uma implementação de
/OPT:ICF
nova e mais rápida: até 9% de aceleração no tempo de vinculação. - Fizemos correções à vinculação incremental. A vinculação incremental nunca será mais lenta do que a vinculação completa.
Selecione aprimoramentos às otimizações existentes:
- Melhoramos a heurística de vetorizador para expressões condicionais.
- Aprimoramos a otimização de
loop-if-unswitching
. - Fizemos melhorias ao desenrolamento de loops.
- Aprimoramos o gerador de código mín./máx. de float.
Selecione novas otimizações:
- Aprimoramos e eliminamos instruções redundantes (e parcialmente redundantes) para o otimizador SSA.
- Otimizamos a vetorização dos repositórios condicionais escalares.
- Combinamos as chamadas
sin(x)
ecos(x)
emsincos(x)
.
O Visual C++ é compatível com o AVX-512 da Intel, inclusive as instruções de Tamanho do Vetor que traz novas funções no AVX-512 para Registros de 128 e 256 bits.
Estamos enviando mais de 20 verificações de Diretrizes Principais do C++ na análise de código C++. Essas verificações abrangem a exatidão do ponteiro inteligente, o uso correto de inicializadores globais e sinalização de usos de construtos como goto
e bad_cast
.
Alguns números de aviso que podem ser encontrados na 15.3 não estão mais disponíveis no 15.5. Esses avisos foram substituídos por verificações mais específicas.
Suporte interno para estrutura do Google Test e Boost.Test
Grave, descubra e execute os testes de unidade do Google Test e Boost.Test no Visual Studio. Por padrão, o Gerenciador de Testes agora é compatível com as estruturas do Google Test e do Boost.Test. Se você estiver atualizando de uma instalação anterior do Visual Studio, abra o Instalador do Visual Studio, clique em "Modificar" na instância do Visual Studio e marque as caixas "Adaptador de teste para Google Test" e "Adaptador de teste para o Boost.Test" em "Desenvolvimento para desktop com C++". Crie facilmente um projeto do Google Test: selecione Arquivo > Novo > Projeto > Visual C++ > Teste > Google Test.
Para obter mais informações, consulte as páginas Como usar o Google Test para C++ no Visual Studio e Como usar o Boost.Test para C++ no Visual Studio em Microsoft Docs.
Ferramentas da Web do Visual Studio
- A formatação de sintaxe Razor foi aprimorada.
- Aprimoramos a experiência para publicação de aplicativos do ASP.NET para as Máquinas Virtuais do Azure.
Ferramentas de Contêiner do Docker
- As ferramentas do Visual Studio para contêineres do Docker agora dão suporte a Dockerfiles de vários estágios, para simplificar a criação de imagens de contêiner otimizadas.
- Se você estiver executando o Visual Studio em um computador executando o Windows 10 versão 1709 ou Windows Server versão 1709, as imagens de contêiner usarão o Windows Server versão 1709 por padrão. Você pode alterar isso editando o Dockerfile. Observe que as imagens de contêiner que utilizam versões mais antigas do Windows serão executadas somente no Windows 10 versão 1709 e Windows Server versão 1709 no modo de isolamento do Hyper-V. Para obter mais detalhes, consulte a página Compatibilidade de versão de contêiner do Windows.
- Por padrão, Visual Studio efetuará pull, compilará e executará automaticamente as imagens de contêiner necessárias em segundo plano quando você abrir um projeto que tenha suporte do Docker. É possível desabilitar isso por meio da configuração Iniciar automaticamente os contêineres em segundo plano no Visual Studio.
Melhorias do TypeScript/JavaScript
Suporte a Angular 2
Os desenvolvedores de Angular2 agora podem ver erros, conclusões e navegação de código em modelos embutidos e arquivos de modelo .ngml. Consulte o repositório de exemplo para obter uma visão geral e instruções.
Melhorias de desempenho
Adicionamos uma caixa de seleção Analisar apenas os projetos que contêm arquivos abertos no editor na página de Opções de projeto do editor de texto de TypeScript/JavaScript. Essa opção melhorará o desempenho e confiabilidade em grandes soluções. Observe que, quando essa caixa é marcada, você precisará executar um build da solução para ver uma lista completa de erros de TypeScript em todos os arquivos.
Corrigimos um problema que fez o serviço de linguagem TypeScript/JavaScript usar mais memória do que o pretendido e poderia fazer com que a versão incorreta do TypeScript fosse carregada em soluções multiprojeto.
Ferramentas do Windows Communication Foundation (WCF)
O provedor de serviços conectados WCF Web Service Reference(Figura 5) agora faz parte do Visual Studio 15.5.
Para usar essa ferramenta, clique com o botão direito do mouse no item de projeto de dependências em seu projeto do .NET Core, selecione a opção Adicionar Serviço Conectado e insira o endereço do serviço Web para o qual você deseja gerar código. O código de proxy de cliente WCF gerado é salvo em um arquivo C# que é adicionado automaticamente ao seu projeto. Isso permite que seu código baseado em .NET Core se comunique facilmente com o serviço Web.
Visite as notas de versão no GitHub da referência do serviço Web do WCF para obter mais detalhes.
Depuração e Diagnóstico
Depurar aplicativos em produção com o Depurador de Instantâneo
Agora você pode usar Snappoints e Logpoints para depurar aplicativos ASP.NET e ASP.NET Core em execução nos Serviços de Aplicativos do Azure com impacto mínimo para o aplicativo.
- Defina Snappoints (Figura 6) para capturar o estado do aplicativo, incluindo Locais, Inspeções e Pilha de Chamadas. Ao contrário do que ocorre com pontos de interrupção, seu aplicativo não é interrompido quando um Snappoint é atingido.
- Use Logpoints (Figura 7) para registrar em log novas mensagens do aplicativo sem a necessidade de adicionar código nem de reimplantar o aplicativo.
Suporte a código-fonte e PDB inseridos
Com o Código-fonte inserido, o Depurador do Visual Studio agora pode extrair e usar arquivos de origem para binários gerenciados diretamente de arquivos PDB. Combine o Código-fonte inserido com o PDB inserido para criar binários depuráveis independentes. Saiba mais sobre como usar a opção de compilador/switch.
Você pode também depurar usando Editar e Continuar para código gerenciado ao compilar com PDBs inseridos.
Retroceder ao depurar com o IntelliTrace
Com a nova funcionalidade de depuração Retroceder, o IntelliTrace captura automaticamente um instantâneo do aplicativo em cada ponto de interrupção e etapa do depurador. Isso permite retornar aos pontos de interrupção ou às etapas anteriores e exibir o estado do aplicativo como ele era no passado.
Esse recurso está disponível na Atualização de Aniversário do Windows 10 e superior e, no momento, é compatível com a depuração no ASP.NET, no WinForms, no WPF, nos aplicativos de console gerenciados e nas bibliotecas de classes gerenciadas (Figura 8). Para habilitar a funcionalidade, acesse Ferramentas>Opções>Configurações do IntelliTrace e selecione Eventos e instantâneos do IntelliTrace.
Acessando recursos do Azure do Visual Studio com o Acesso Condicional habilitado
O Visual Studio agora é compatível com acesso a recursos do Azure que têm acesso condicional habilitado exigindo autenticação com 2FA, mesmo que a conta em si não exija 2FA. Anteriormente, se sua conta requeria 2FA para entrar, o Visual Studio solicitava 2FA e, em seguida, você podia acessar todos os recursos que requeriam 2FA; no entanto, se sua conta não exigia 2FA, o Visual Studio falhava ao acessar esses recursos 2FA.
Agora, quando contas não exigirem 2FA, mas os recursos sim, será possível autenticar a conta do Visual Studio sem 2FA e, quando você tentar acessar um recurso do Azure que requer 2FA pela primeira vez, o Visual Studio solicitará uma nova autenticação e exigirá que o 2FA habilite o acesso ao recurso.
Suporte a Ferramentas do Office para Office na Windows Store
Projetos de suplemento da Web do Office e projetos do VSTO agora dão suporte ao desenvolvimento com o Office na Windows Store. Criar, compilar, depurar e publicar projetos de suplemento da Web e VSTO usando o Office na Windows Store.
- A Atualização de Criadores de Outono (versão 1709) para Windows 10 ou Windows Server 2016 é necessária para usar as Ferramentas do Office com o Office na Windows Store.
Ferramentas do Visual Studio para Unity
- Projetos do Unity agora são automaticamente recarregados no Visual Studio quando você adiciona ou remove um script do Unity.
- Corrigida a geração de projetos .Player ao trabalhar em um jogo UWP com o back-end IL2CPP/.NET 4.6.
- Introduzida uma opção para usar o depurador Mono compartilhado pelo Xamarin e o Visual Studio para Mac para depurar o Editor Unity.
Live Unit Testing
- Agora os builds do Live Unit Testing estão fora do processo, melhorando a utilização de memória no Visual Studio.
Empacotamento do Windows
Adicionamos suporte no projeto de empacotamento para incluir aplicativos UWP e componentes que ajudam a aproveitar as funcionalidades mais recentes do Windows 10 em seus aplicativos da área de trabalho existentes. Para incluir componentes UWP você pode Add Reference
para o aplicativo de UWP (Figura 9).
Você pode usar o assistente de pacote de repositório para gerar os arquivos necessários para enviar seu aplicativo de Ponte de Desktop para o repositório, assim como acontece com os projetos UWP existente.
Visual Studio 2017 versão 15.5.1
lançado em 7 de dezembro de 2017
Principais problemas corrigidos na versão 15.5.1
Estes são os problemas relatados pelo cliente abordados nesta versão:
- Versão errada
xamarin.forms
mencionada no modelo. - Alternar os branches no Git causa falha no IntelliSense.
- Erros relatados quando não existe nenhum (projetos do Visual Basic).
- O Xamarin agora é compatível a Xcode 9.2:
- Isso corrige os problemas relatados pelo cliente com o storyboards e o simulador remoto.
Visual Studio 2017 versão 15.5.2
lançado em 14 de dezembro de 2017
Principais problemas corrigidos na versão 15.5.2
Estes são os problemas relatados pelo cliente abordados nesta versão:
- O projeto do Xamarin Android não pode ser compilado porque
R$anim.class
está em uso. - Falha ao carregar pacote
MonoAndroidDesignerPackage
. - O Crypto++ com otimizações padrão apresenta compilação infinita ao tentar otimizar o blake2.cpp.
- A migração do VS2017 15.4 para o 15.5 causa o erro CS026 – “O tipo ou o nome de namespace XXX não pôde ser encontrado...”.
- A instalação do Visual Studio 2017 Community 15.5 com
Option Strict On
gera erros do IntelliSense em projetos do VB. - Tempo de compilação infinito ao tentar otimizar o blake2.cpp.
- Mecanismo aleatório com falha no otimizador VS 15.5.
- A migração para o VS 15.5 (do 15.4) não pode ser compilada
mhook:disasm_x86.c
. - A instalação do Unity + a nova versão 15.5 do Community resulta em um namespace não reconhecido.
Visual Studio 2017 versão 15.5.3
lançado em 9 de janeiro de 2018
Resumo de atualizações na versão 15.5.3
Comunicados de Segurança da Microsoft para .NET Core
O Bypass de Recurso de Segurança CVE-2018-0786 no X509 Certificate Validation Microsoft está liberando esse comunicado de segurança para fornecer informações sobre uma vulnerabilidade nas versões públicas do .NET Core 1.0, 1.1 e 2.0. Esse comunicado também fornece orientação sobre o que os desenvolvedores podem fazer para atualizar seus aplicativos corretamente. Esse comunicado de segurança também é aplicável ao .NET nativo para UWP.
A Microsoft está ciente de uma vulnerabilidade de segurança nas versões públicas do .NET Core em que um invasor pode apresentar um certificado que é marcado como inválido para um uso específico, mas um componente o usa para essa finalidade. Essa ação ignora a marcação de uso avançado de chave.
A atualização de segurança resolve a vulnerabilidade, garantindo que os componentes do .NET Core validem completamente os certificados. É recomendável que os administradores do sistema atualizem os runtimes do .NET Core para as versões 1.0.9, 1.1.6 e 2.0.5. Os desenvolvedores são aconselhados a atualizar o SDK do .NET Core para a versão 2.1.4 ou 1.1.7.
A Negação de Serviço CVE-2018-0764 ao analisar documentos XML da Microsoft está liberando esse comunicado de segurança para fornecer informações sobre uma vulnerabilidade nas versões públicas do .NET Core 1.0, 1.1 e 2.0. Esse comunicado também fornece orientação sobre o que os desenvolvedores podem fazer para atualizar seus aplicativos corretamente.
A Microsoft está ciente de uma vulnerabilidade de negação de serviço em todas as versões públicas do .NET Core devido ao processamento inadequado de documentos XML. Um invasor que explorasse com êxito essa vulnerabilidade poderia causar uma negação de serviço em relação a um aplicativo .NET. Um invasor não autenticado remoto pode explorar essa vulnerabilidade emitindo solicitações especialmente criadas para um aplicativo .NET Core.
A atualização resolve a vulnerabilidade corrigindo como o .NET Core manipula o processamento do documento XML. É recomendável que os administradores do sistema atualizem os runtimes do .NET Core para as versões 1.0.9, 1.1.6 e 2.0.5. Os desenvolvedores são aconselhados a atualizar o SDK do .NET Core para a versão 2.1.4 ou 1.1.7.
Principais problemas corrigidos na versão 15.5.3
Estes são os problemas relatados pelo cliente abordados nesta versão:
- Erro C3821 em
xlocale
em c++/clr. - Usar o cabeçalho dentro de uma seção de código não gerenciado do projeto C++/CLI gerenciado não é mais criado.
- VS2017 com 10 WDK falha durante o KM de provisionamento remoto.
- Ferramentas do Visual Studio para Unity falhou ao converter símbolos de depuração depois de atualizar para o VS 15.5.
- Localizar novas informações sobre os Comunicados de Segurança da Microsoft para .NET Core.
Visual Studio 2017 versão 15.5.4
lançado em 16 de janeiro de 2018
Principais problemas corrigidos na versão 15.5.4
Estes são os problemas relatados pelo cliente abordados nesta versão:
- O depurador não pode continuar a execução do processo. Operação sem suporte. Erro desconhecido: 0x9233000b.
- Projetos e soluções recentes não preenchidos depois da execução.
- Fazer build completo sempre com a 15.5.
- Erros inadequados do IntelliSense ainda são mostrados no VS 15.5.2 para projetos do Visual Basic.
- Referências não resolvidas do VS2017 15.5.2 quando a opção "Permitir inicialização paralela de projetos" está habilitada.
- Atualização para 15.5.2: não é possível iniciar nem reparar VS.
- Problema de instalação do VS2017.
- Não é possível instalar devido a BSoD.
Visual Studio 2017 versão 15.5.5
lançado em 25 de janeiro de 2018
Resumo de atualizações na versão 15.5.5
- O compilador MSVC foi atualizado com suporte para a opção /Qspectre, que insere automaticamente uma barreira de especulação quando o compilador detecta instâncias da variante 1 do Spectre. Para obter mais informações sobre /Qspectre, consulte o Blog da equipe do Visual C++.
Principais problemas corrigidos na versão 15.5.5
Estes são os problemas relatados pelo cliente abordados nesta versão:
- O aplicativo Xamarin gera o erro
Cannot access a disposed object. Object name: 'MobileAuthenticatedStream'
. - O aplicativo Xamarin.Android gera
ClassNotFoundException
ao derivar da classeApplication
. - A atualização pode fazer com que o Windows e os SDKs do Android previamente instalados sejam desinstalados.
- O JDK 8 foi aumentado para a versão mais recente para evitar falhas de download do site da Oracle.
Visual Studio 2017 versão 15.5.6
lançado em 29 de janeiro de 2018
Resumo de atualizações na versão 15.5.6
Visual Studio 2017 versão 15.5.7
lançado em 20 de fevereiro de 2018
Resumo de atualizações na versão 15.5.7
- Team Explorer compatível com TLSv1.2. Atualizamos o Git e os componentes do Gerenciador de Credenciais do Git fornecidos com o Visual Studio. Além disso, atualizamos o componente opcional Git para Windows. Esta atualização permite ao Git conectar-se aos serviços cujo suporte foi preterido para TLSv1 e TLSv1.1 em prol do TLSv1.2.
Principais problemas corrigidos na versão 15.5.7
Estes são os problemas relatados pelo cliente abordados nesta versão:
- Os projetos direcionados para .NET Core 2.1 ou mais recente não são compatíveis com o Visual Studio 2017 versão 15.5.
- Correção de um problema em que a instalação do SDK para .NET Core 2.1 ou mais recente fazia com que a opção de criar aplicativos Web para ASP.NET Core 2.0 desaparecesse.
Problemas Conhecidos
Estamos empenhados em ouvir seus comentários. Visite o site Comunidade de Desenvolvedores para encontrar os últimos problemas, registrar novos problemas e votar a favor dos problemas existentes.
Veja todos os problemas atuais conhecidos e as soluções alternativas disponíveis no Visual Studio 2017 versão 15.5.
Comentários e sugestões
Adoraríamos ouvir o que você tem para nos dizer! Em caso de problemas, informe-nos por meio da opção Relatar um Problema no canto superior direito do Instalador ou do próprio IDE do Visual Studio. O ícone está localizado no canto superior direito. Você pode fazer uma sugestão de produto ou acompanhar os problemas na Comunidade de Desenvolvedores do Visual Studio, em que você pode fazer perguntas, encontrar respostas e propor novos recursos. Você também pode obter ajuda gratuita com a instalação por meio de nosso suporte via chat ao vivo.
Blogs
Aproveite as informações e recomendações disponíveis no site Blogs de Ferramentas de Desenvolvedor para ficar em dia com as novas versões e conferir postagens detalhadas sobre uma grande variedade de recursos.
Histórico de notas de versão do Visual Studio 2017
Para saber mais sobre as versões anteriores do Visual Studio 2017, confira a página Histórico de Notas de Versão do Visual Studio 2017.