iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Ao executar dotnet run, a CLI seleciona um projeto .NET, restaura dependências NuGet se necessário, aciona o build e inicia o processo resultante. Dependendo do projeto, também aplica configurações de um perfil suportado em launchSettings.json. É um fluxo conveniente para desenvolvimento; para implantação em produção, a Microsoft recomenda publicar o aplicativo.
O que acontece depois de pressionar Enter?
- A CLI escolhe um projeto. Sem caminho informado, ela usa o projeto no diretório atual. Para apontar para outro, use
--project.dotnet runopera no contexto de projetos, não para iniciar diretamente um assembly já compilado. Para executar uma DLL existente, usedotnet nome.dll. Consulte a documentação do comando dotnet run e a visão geral da CLI .NET. - O restore NuGet ocorre se necessário. Não é obrigatório executar
dotnet restoreseparadamente antes. A restauração resolve as dependências referenciadas pelo projeto, baixa as que faltam e as disponibiliza no cache local.--no-restoredesativa essa etapa implícita;--forceforça a resolução das dependências. A documentação do dotnet restore explica a resolução de dependências pelo NuGet. - O build compila o projeto e suas dependências. O comando depende de
dotnet build, que usa MSBuild. A documentação descrevedotnet buildcomo equivalente adotnet msbuild -restore, embora a verbosidade padrão seja diferente. Isso não significa quedotnet runseja apenas um alias textual para build seguido de uma chamada universal:runtem opções e comportamento próprios. Veja a documentação de dotnet build e dotnet msbuild. - Os artefatos são gravados nos diretórios do projeto. Por padrão, a saída do build vai para
bin/<configuration>/<target>, normalmentebin/Debug/<target>; arquivos temporários ficam emobj. A configuração pode ser alterada, por exemplo, com--configuration Release. Saídas existentes podem ser sobrescritas conforme necessário. - A CLI inicia o processo. Um perfil compatível em
launchSettings.jsonpode definir o tipo de comando, argumentos e variáveis de ambiente usados na inicialização.dotnet runaceita perfis dos tiposProjecteExecutable. A opção--no-launch-profileignora o arquivo.
Como escolher projeto e framework
Se o diretório atual não for o do projeto desejado, indique o arquivo ou diretório do projeto com --project. Se o projeto tiver como alvo vários frameworks, indique um deles com --framework; sem essa seleção, o comando falha por ambiguidade. A sintaxe exata e as opções disponíveis podem depender da versão do SDK instalada.
O que muda com –no-restore e –no-build?
--no-restorepula somente a restauração implícita. O build continua sendo executado.--no-buildpula o build e também implica--no-restore. Use-o apenas quando os artefatos necessários já existirem; caso contrário, não haverá uma saída atual para iniciar.
Como o programa recebe argumentos e variáveis de ambiente?
Use -- para separar as opções da CLI dos argumentos que devem chegar ao aplicativo. Por exemplo:
dotnet run --project ConsoleApp.csproj -- --app-flag --app-name A.txt
As opções depois de -- são argumentos do programa, não opções de dotnet run. A separação ajuda a evitar que argumentos destinados ao aplicativo sejam interpretados pela CLI.
#1 Best Overall
A opção --environment KEY=VALUE configura o ambiente do processo iniciado e, conforme a documentação da Microsoft, tem precedência sobre valores definidos pelo perfil. Ela foi adicionada no SDK 9.0.200; portanto, não está disponível em todos os SDKs. Outras opções também têm requisitos de versão: --artifacts-path foi adicionada no SDK 8, e --file, no SDK 10.0.100. Confira a versão exigida junto à opção na referência atual do dotnet run.
Quando usar dotnet run — e quando publicar
dotnet run é uma conveniência para executar código-fonte durante o desenvolvimento iterativo. Ele pode depender de pacotes no cache local e de configurações do ambiente de desenvolvimento; a Microsoft não o recomenda para executar aplicativos em produção. Para implantação, crie uma saída de publicação com dotnet publish e implante o resultado publicado.
Rank #2
O fluxo concreto pode variar conforme o projeto, o framework-alvo, o SDK instalado, o cache, as propriedades do MSBuild, o perfil de inicialização e as opções usadas. A documentação principal do comando cobre o .NET 6 SDK e posteriores, mas opções individuais podem exigir versões mais novas.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteQuick Recap
Best Value
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

