.NET Core (Português)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Status de tradução: Esse artigo é uma tradução de .NET Core. Data da última tradução: 2020-04-07. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

.NET Core é um novo framework de software FOSS da Microsoft para C#, Visual Basic e F#. Ele é projetado para ser multiplataforma, modular e apto para aplicativos modernos, em oposição ao seu predecessor, o .NET Framework.

Instalação

Se você deseja apenas executar aplicativos gerenciados pelo .NET Core, instale o pacote dotnet-runtime.

Para compilar aplicativos com .NET Core, instale dotnet-sdk também.

A Microsoft recomenda usar Visual Studio Code, sua IDE FOSS baseada no Electron, para compilar & depurar aplicativos .NET Core.

Dica: Adicione ~/.dotnet/tools to PATH, do contrário ferramentas de dotnet não vão funcionar a partir do shell.

Instalar várias versões

Você pode instalar várias versões do .NET Core SDK ou do tempo de execução lado a lado usando o script dotnet-install.sh fornecido pelo .NET Foundation. Você pode encontrar a documentação do script aqui.

Por exemplo, esse comando instalaria a versão atual encontrada no canal atual Current em /opt/dotnet:

# ./dotnet-install.sh --install-dir /opt/dotnet -channel Current -version latest

Você pode querer simular a primeira instalação usando a opção -Dryrun.

Uma vez instalado, você pode verificar os SDKs disponíveis:

$ dotnet --list-sdks
2.2.108 [/opt/dotnet/sdk]
3.0.100 [/opt/dotnet/sdk]
$ dotnet --version
3.0.100

Telemetria

Telemetria está habilitada por padrão, mas pode ser desabilitada definindo a variável de ambiente DOTNET_CLI_TELEMETRY_OPTOUT=1.

Solução de problemas

Não foi possível encontrar nenhuma versão compatível do framework

Se você receber o seguinte erro ao tentar executar um projeto recém-criado, não precisará mais definir uma variável DOTNET_ROOT, conforme descrito nas soluções de vários problemas do github. O pacote dotnet do Arch (a partir de 3.1) o instala no local recomendado pela Microsoft de /usr/share/dotnet.

$ dotnet run
It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found.
  - No frameworks were found.

You can resolve the problem by installing the specified framework and/or SDK.

The specified framework can be found at:
  - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=3.1.0&arch=x64&rid=arch-x64

Isso é causado porque o tempo de execução é enviado como um pacote separado no Arch. Você só precisa garantir que o pacote aspnet-runtime também esteja instalado.

Erro "the required library libhostfxr.so could not be found"

Algumas das ferramentas do SDK dotnet (por exemplo, libman, dotnet-watch etc.) podem esperar que você tenha a variável de ambiente DOTNET_ROOT pré-configurada. Se não for, um erro como este pode ser observado: [1]

A fatal error occurred, the required library libhostfxr.so could not be found.
If this is a self-contained application, that library should exist in [/home/my_user/.dotnet/tools/.store/microsoft.web.librarymanager.cli/1.0.172/microsoft.web.librarymanager.cli/1.0.172/tools/netcoreapp2.1/any/].
If this is a framework-dependent application, install the runtime in the default location [/usr/share/dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location.

A solução é exportar manualmente DOTNET_ROOT no seu shell:

~/.bashrc
export DOTNET_ROOT=/opt/dotnet

O SDK especificado não pôde ser encontrado

Acredita-se que isso seja causado por um conflito entre as bibliotecas SDK de Mono e MSBuild e as do dotnet core. Para corrigir isso, exporte o caminho manualmente no seu shell (substituindo o número da versão conforme necessário), por exemplo:

~/.bashrc
export MSBuildSDKsPath=$( echo /usr/share/dotnet/sdk/3.*/Sdks );

Veja também