# .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

- Site do .NET Core
- A Fundação .NET
- Navegador de API do .NET

Category:

- Frameworks (Português)