.NET Core: definindo a versão do SDK utilizada pelo comando dotnet new

Renato Groffe
3 min readDec 23, 2018

O uso do comando dotnet new constitui uma prática bastante comum entre Desenvolvedores que implementam soluções com o .NET Core e o Visual Studio Code. Por default essa instrução, que é executada via linha de comando, utiliza a versão mais recente de um SDK instalada em uma máquina.

Caso instalemos o .NET Core 3, o comando dotnet new assumirá como padrão para a geração de novos projetos esta versão que ainda está em Preview (Dezembro/2018). É o que demonstra a imagem a seguir, em que podemos notar a referência ao .NET Core 3 no arquivo .csproj da nova aplicação:

A execução do comando dotnet --version no diretório inicial deste novo projeto também retornará que o .NET Core 3 corresponde à versão default:

A instrução dotnet --list-sdks trará as diferentes versões de SDKs do .NET Core instaladas em uma máquina. Na próxima imagem se observa a presença do release 2.2.100 do .NET Core 2.2 (destacado em vermelho):

E se quisermos selecionar então o .NET Core 2.2 para a criação de uma nova aplicação via linha de comando? A solução a este tipo de necessidade passa pela geração de um arquivo global.json em um diretório a partir do qual seriam criados novos projetos.

Com o comando dotnet new globaljson --sdk-version 2.2.100 será gerado um global.json configurado para uso do SDK 2.2.100 (primeiro release oficial do .NET Core 2.2) a partir de C:\ASP.NET Core 2.2\:

Na listagem a seguir está o conteúdo deste novo arquivo global.json:

A instrução dotnet --version ao ser executada em C:\ASP.NET Core 2.2\ e seus subdiretórios exibirá como SDK default adotado para o .NET Core a versão 2.2.100:

Um novo projeto Web API chamado TesteAPI2 gerado após esses ajustes estará assim devidamente configurado para uso do .NET Core 2.2 (a instrução Get-Content do PowerShell mostra que no conteúdo do arquivo TesteAPI2.csproj está sendo referenciado o .NET Core 2.2):

Fora de C:\ASP.NET Core 2.2\ a execução de dotnet --version mostrará que o SDK do .NET Core 3 ainda segue como versão padrão:

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Docker Captain, Multi-Plataform Technical Audience Contributor (MTAC), Technical Writer and Speaker

No responses yet

Write a response