O que há de novo no .NET Core 2.0
O .NET Core 2.0 inclui aprimoramentos e novos recursos nas seguintes áreas:
- Ferramentas
- Suporte de idiomas
- Melhorias na plataforma
- Alterações na API
- Integração com Visual Studio
- Melhorias na documentação
Ferramentas
dotnet restore é executado implicitamente
Em versões anteriores do .NET Core, você tinha que executar o comando dotnet restore para baixar dependências imediatamente após criar um novo projeto com o comando dotnet new , bem como sempre que adicionava uma nova dependência ao seu projeto.
Você não precisa executar dotnet restore
porque ele é executado implicitamente por todos os comandos que exigem uma restauração para ocorrer, como dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
e dotnet pack
. Para desativar a restauração implícita, use a --no-restore
opção.
O dotnet restore
comando ainda é útil em determinados cenários em que a restauração explícita faz sentido, como compilações de integração contínua nos Serviços de DevOps do Azure ou em sistemas de compilação que precisam controlar explicitamente quando a restauração ocorre.
Para obter informações sobre como gerenciar feeds NuGet, consulte a dotnet restore
documentação.
Você também pode desativar a invocação automática de dotnet restore
passando o --no-restore
switch para os new
comandos , run
, build
, publish
, pack
, e test
.
Redirecionamento para .NET Core 2.0
Se o SDK do .NET Core 2.0 estiver instalado, os projetos destinados ao .NET Core 1.x poderão ser redirecionados para o .NET Core 2.0.
Para redirecionar para o .NET Core 2.0, edite o arquivo de projeto alterando o <TargetFramework>
valor do elemento (ou o <TargetFrameworks>
elemento se você tiver mais de um destino no arquivo de projeto) de 1.x para 2.0:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
Você também pode redirecionar bibliotecas do .NET Standard para o .NET Standard 2.0 da mesma maneira:
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
Para obter mais informações sobre como migrar seu projeto para o .NET Core 2.0, consulte Migrando do ASP.NET Core 1.x para o ASP.NET Core 2.0.
Suporte de idiomas
Além de suportar C# e F#, o .NET Core 2.0 também suporta Visual Basic.
Visual Basic
Com a versão 2.0, o .NET Core agora oferece suporte ao Visual Basic 2017. Você pode usar o Visual Basic para criar os seguintes tipos de projeto:
- Aplicativos de console do .NET Core
- Bibliotecas de classes do .NET Core
- Bibliotecas de classes do .NET Standard
- Projetos de teste de unidade do .NET Core
- Projetos de teste do .NET Core xUnit
Por exemplo, para criar um aplicativo "Hello World" do Visual Basic, execute as seguintes etapas na linha de comando:
Abra uma janela de console, crie um diretório para seu projeto e torne-o o diretório atual.
Digite o comando
dotnet new console -lang vb
.O comando cria um arquivo de projeto com uma extensão de
.vbproj
arquivo, juntamente com um arquivo de código-fonte do Visual Basic chamado Program.vb. Este arquivo contém o código-fonte para escrever a string "Hello World!" na janela do console.Digite o comando
dotnet run
. A CLI do .NET compila e executa automaticamente o aplicativo, que exibe a mensagem "Hello World!" na janela do console.
Suporte para C# 7.1
O .NET Core 2.0 suporta C# 7.1, que adiciona vários novos recursos, incluindo:
- O
Main
método, o ponto de entrada do aplicativo, pode ser marcado com a palavra-chave async . - Nomes de tuplas inferidos.
- Expressões padrão.
Melhorias na plataforma
O .NET Core 2.0 inclui vários recursos que facilitam a instalação do .NET Core e o uso em sistemas operacionais suportados.
O .NET Core para Linux é uma implementação única
O .NET Core 2.0 oferece uma única implementação Linux que funciona em várias distribuições Linux. O .NET Core 1.x exigia que você baixasse uma implementação Linux específica da distribuição.
Você também pode desenvolver aplicativos destinados ao Linux como um único sistema operacional. O .NET Core 1.x exigia que você direcionasse cada distribuição Linux separadamente.
Suporte para as bibliotecas criptográficas da Apple
O .NET Core 1.x no macOS exigia a biblioteca criptográfica do kit de ferramentas OpenSSL. O .NET Core 2.0 usa as bibliotecas criptográficas da Apple e não requer OpenSSL, portanto, você não precisa mais instalá-lo.
Alterações de API e suporte a bibliotecas
Suporte para .NET Standard 2.0
O .NET Standard define um conjunto versionado de APIs que devem estar disponíveis em implementações .NET que estejam em conformidade com essa versão do padrão. O .NET Standard destina-se a desenvolvedores de bibliotecas. Ele visa garantir a funcionalidade que está disponível para uma biblioteca que visa uma versão do .NET Standard em cada implementação do .NET. O .NET Core 1.x suporta o .NET Standard versão 1.6; o .NET Core 2.0 suporta a versão mais recente, o .NET Standard 2.0. Para obter mais informações, consulte .NET Standard.
O .NET Standard 2.0 inclui mais de 20.000 APIs do que as disponíveis no .NET Standard 1.6. Grande parte dessa área de superfície expandida resulta da incorporação de APIs comuns ao .NET Framework e ao Xamarin no .NET Standard.
As bibliotecas de classes do .NET Standard 2.0 também podem fazer referência às bibliotecas de classes do .NET Framework, desde que chamem APIs presentes no .NET Standard 2.0. Nenhuma recompilação das bibliotecas do .NET Framework é necessária.
Para obter uma lista das APIs que foram adicionadas ao .NET Standard desde sua última versão, .NET Standard 1.6, consulte .NET Standard 2.0 vs. 1.6.
Área de superfície expandida
O número total de APIs disponíveis no .NET Core 2.0 mais do que dobrou em comparação com o .NET Core 1.1.
E com o Pacote de Compatibilidade do Windows, a portabilidade do .NET Framework também se tornou muito mais simples.
Suporte para bibliotecas do .NET Framework
O código .NET Core pode fazer referência a bibliotecas existentes do .NET Framework, incluindo pacotes NuGet existentes. Observe que as bibliotecas devem usar APIs encontradas no .NET Standard.
Integração com o Visual Studio
O Visual Studio 2017 versão 15.3 oferece vários aprimoramentos significativos para desenvolvedores do .NET Core.
Redirecionamento de aplicativos .NET Core e bibliotecas .NET Standard
Se o SDK do .NET Core 2.0 estiver instalado, você poderá redirecionar projetos do .NET Core 1.x para bibliotecas do .NET Core 2.0 e do .NET Standard 1.x para o .NET Standard 2.0.
Para redirecionar seu projeto no Visual Studio, abra a guia Aplicativo da caixa de diálogo de propriedades do projeto e altere o valor da estrutura de destino para .NET Core 2.0 ou .NET Standard 2.0. Você também pode alterá-lo clicando com o botão direito do mouse no projeto e selecionando a opção Editar arquivo *.csproj. Para obter mais informações, consulte a seção Ferramentas anteriormente neste tópico.
Suporte de teste de unidade ao vivo para .NET Core
Sempre que você modifica seu código, o Live Unit Testing executa automaticamente todos os testes de unidade afetados em segundo plano e exibe os resultados e a cobertura de código ao vivo no ambiente do Visual Studio. O .NET Core 2.0 agora oferece suporte ao teste de unidade ao vivo. Anteriormente, o Live Unit Testing estava disponível apenas para aplicativos .NET Framework.
Para obter mais informações, consulte Teste de unidade ao vivo com o Visual Studio e Perguntas frequentes sobre teste de unidade ao vivo.
Melhor suporte para várias estruturas de destino
Se você estiver criando um projeto para várias estruturas de destino, agora pode selecionar a plataforma de destino no menu de nível superior. Na figura a seguir, um projeto chamado SCD1 tem como alvo o macOS X 10.11 de 64 bits (osx.10.11-x64
) e o Windows 10/Windows Server 2016 de 64 bits (win10-x64
). Você pode selecionar a estrutura de destino antes de selecionar o botão de projeto, neste caso para executar uma compilação de depuração.
Suporte lado a lado para SDKs do .NET Core
Agora você pode instalar o SDK do .NET Core independentemente do Visual Studio. Isso torna possível para uma única versão do Visual Studio para criar projetos que visam versões diferentes do .NET Core. Anteriormente, o Visual Studio e o SDK do .NET Core estavam fortemente acoplados; uma versão específica do SDK acompanhava uma versão específica do Visual Studio.
Melhorias na documentação
Arquitetura de aplicativos .NET
A arquitetura de aplicativos .NET oferece acesso a um conjunto de e-books que fornecem orientação, práticas recomendadas e aplicativos de exemplo ao usar o .NET para criar:
- Microsserviços e contêineres do Docker
- Aplicações Web com ASP.NET
- Aplicativos móveis com Xamarin
- Aplicativos implantados na nuvem com o Azure