Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo aplica-se a: ✔️ SDK do .NET 10 e versões posteriores
Nome
dotnet project convert - Converte um programa baseado em ficheiros num programa baseado em projetos.
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 ficheiros num programa baseado em projeto. Este comando cria um novo diretório com o nome do seu ficheiro, estrutura um ficheiro .csproj , move o seu código para um ficheiro com o mesmo nome do ficheiro de entrada e traduz quaisquer #: diretivas em propriedades e referências do MSBuild.
Isto torna a transição fluida, de um único ficheiro para um projeto totalmente funcional, construível e extensível. Quando a sua aplicação baseada em ficheiros se torna mais complexa, ou simplesmente quer as capacidades adicionais oferecidas nas aplicações baseadas em projetos, pode convertê-la num projeto padrão.
Processo de conversão
O comando executa as seguintes operações:
- Cria um novo diretório com o nome do ficheiro de entrada (sem extensão).
- Gera um ficheiro .csproj com o SDK e as propriedades apropriadas.
- Move o código-fonte para um ficheiro com o mesmo nome do ficheiro de entrada.
- Remove
#:diretivas do código-fonte. - Traduz
#:sdkdiretivas: a primeira#:sdkdiretiva torna-se o<Project Sdk="Sdk.Id">atributo ou<Project Sdk="Sdk.Id/version">, e quaisquer diretivas adicionais#:sdktornam-se<Sdk Name="Sdk.Id" />ou<Sdk Name="Sdk.Id" Version="version" />elementos. - Traduz
#:packagediretivas para<PackageReference>elementos no ficheiro do projeto. - Traduz
#:propertydiretivas para propriedades do MSBuild no ficheiro do projeto. - Define as propriedades apropriadas do MSBuild com base no SDK e na framework detetados.
Arguments
FILEO caminho para o programa baseado em ficheiros a converter. O ficheiro deve ser um ficheiro fonte em C# (tipicamente com uma extensão .cs ).
Opções
--dry-runDetermina alterações sem realmente modificar o sistema de ficheiros. Mostra o que seria criado ou modificado sem realizar a conversão.
--forceForçar a conversão mesmo que existam diretivas mal formadas. Por defeito, o comando falha se encontrar diretivas que não podem ser devidamente analisadas ou convertidas.
-
--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 especificado, é criado um diretório com o mesmo nome do ficheiro de entrada (sem extensão) no diretório atual.
-
-?|-h|--helpImprime uma descrição de como usar o comando.
Examples
Converter um programa baseado em ficheiros num projeto:
dotnet project convert app.csDada uma pasta contendo 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();A execução
dotnet project convert app.csresulta numa pasta chamada app 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 ficheiros num projeto num diretório de saída específico:
dotnet project convert app.cs --output MyProject