Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo se aplica a: ✔️ SDK do .NET 10 e versões posteriores
Nome
dotnet project convert – Converte um programa baseado em arquivo em um programa baseado em projeto.
Sinopse
dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
[-o|--output <OUTPUT_DIRECTORY>]
dotnet project convert -h|--help
Description
O dotnet project convert comando converte um programa baseado em arquivo em um programa baseado em projeto. Esse comando cria um novo diretório nomeado para o arquivo, cria um arquivo .csproj , move seu código para um arquivo com o mesmo nome do arquivo de entrada e converte todas #: as diretivas em propriedades e referências do MSBuild.
Isso torna a transição perfeita, de um único arquivo para um projeto totalmente funcional, compilável e extensível. Quando seu aplicativo baseado em arquivo aumenta em complexidade ou você simplesmente quer as funcionalidades extras oferecidas em aplicativos baseados em projeto, você pode convertê-lo em um projeto padrão.
Processo de conversão
O comando executa as seguintes operações:
- Cria um novo diretório com o nome do arquivo de entrada (sem extensão).
- Gera um arquivo .csproj com o SDK e as propriedades apropriados.
- Move o código-fonte para um arquivo com o mesmo nome do arquivo de entrada.
- Remove diretivas
#:do código-fonte. - Converte diretivas
#:sdk: a primeira#:sdkdiretiva se torna o atributo ou<Project Sdk="Sdk.Id/version">o<Project Sdk="Sdk.Id">atributo e quaisquer diretivas adicionais#:sdkse tornam<Sdk Name="Sdk.Id" />ou<Sdk Name="Sdk.Id" Version="version" />elementos. - Converte diretivas
#:packageem<PackageReference>elementos no arquivo de projeto. - Converte diretivas
#:propertypara propriedades do MSBuild no arquivo de projeto. - Define as propriedades apropriadas do MSBuild com base no SDK e na estrutura detectadas.
Arguments
FILEO caminho para o programa baseado em arquivo a ser convertido. O arquivo deve ser um arquivo de origem C# (normalmente com uma extensão .cs ).
Opções
--dry-runDetermina as alterações sem realmente modificar o sistema de arquivos. Mostra o que seria criado ou modificado sem executar a conversão.
--forceForça a conversão mesmo se houver diretivas malformadas. Por padrão, o comando falhará se encontrar diretivas que não podem ser analisadas ou convertidas corretamente.
-
--interactivePermite que o comando pare e aguarde a entrada ou ação do usuário. Por exemplo, para concluir a autenticação.
-o|--output <OUTPUT_DIRECTORY>Especifica o diretório de saída do projeto convertido. Se não for especificado, um diretório será criado com o mesmo nome do arquivo de entrada (sem extensão) no diretório atual.
-
-?|-h|--helpImprime uma descrição de como usar o comando.
Exemplos
Converter um programa baseado em arquivo em um projeto:
dotnet project convert app.csDada uma pasta que contém app.cs com o seguinte conteúdo:
#:sdk Microsoft.NET.Sdk.Web #:package Microsoft.AspNetCore.OpenApi@10.*-* var builder = WebApplication.CreateBuilder(); builder.Services.AddOpenApi(); var app = builder.Build(); app.MapGet("/", () => "Hello, world!"); app.Run();Executando
dotnet project convert app.csresultados em uma pasta chamada aplicativo que contém:app/app.cs:
var builder = WebApplication.CreateBuilder(); builder.Services.AddOpenApi(); var app = builder.Build(); app.MapGet("/", () => "Hello, world!"); app.Run();app/app.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net10.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PublishAot>true</PublishAot> <PackAsTool>true</PackAsTool> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.*-*" /> </ItemGroup> </Project>Converter um programa baseado em arquivo em um projeto em um diretório de saída específico:
dotnet project convert app.cs --output MyProject