Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł dotyczy: ✔️ zestawu .NET 10 SDK i nowszych wersji
Name
dotnet project convert — Konwertuje program oparty na plikach na program oparty na projekcie.
Streszczenie
dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
[-o|--output <OUTPUT_DIRECTORY>]
dotnet project convert -h|--help
Description
Polecenie dotnet project convert konwertuje program oparty na plikach na program oparty na projekcie. To polecenie tworzy nowy katalog o nazwie dla pliku, szkielety pliku csproj , przenosi kod do pliku o takiej samej nazwie jak plik wejściowy i tłumaczy wszystkie #: dyrektywy na właściwości i odwołania msBuild.
Dzięki temu przejście z pojedynczego pliku do w pełni funkcjonalnego, kompilowalnego i rozszerzalnego projektu. Gdy aplikacja oparta na plikach rośnie w złożoności lub potrzebujesz dodatkowych możliwości oferowanych w aplikacjach opartych na projekcie, możesz przekonwertować ją na standardowy projekt.
Proces konwersji
Polecenie wykonuje następujące operacje:
- Tworzy nowy katalog o nazwie po pliku wejściowym (bez rozszerzenia).
- Generuje plik csproj z odpowiednim zestawem SDK i właściwościami.
- Przenosi kod źródłowy do pliku o takiej samej nazwie jak plik wejściowy.
- Usuwa
#:dyrektywy z kodu źródłowego. -
#:sdkTłumaczy dyrektywy: pierwsza#:sdkdyrektywa staje się atrybutem<Project Sdk="Sdk.Id">lub<Project Sdk="Sdk.Id/version">, a wszelkie dodatkowe#:sdkdyrektywy stają się<Sdk Name="Sdk.Id" />elementami lub<Sdk Name="Sdk.Id" Version="version" />. -
#:packageTłumaczy dyrektywy na<PackageReference>elementy w pliku projektu. -
#:propertyTłumaczy dyrektywy na właściwości MSBuild w pliku projektu. - Ustawia odpowiednie właściwości programu MSBuild na podstawie wykrytego zestawu SDK i platformy.
Arguments
FILEŚcieżka do programu opartego na plikach do konwersji. Plik musi być plikiem źródłowym języka C# (zazwyczaj z rozszerzeniem .cs ).
Opcje
--dry-runOkreśla zmiany bez faktycznego modyfikowania systemu plików. Pokazuje, co zostałoby utworzone lub zmodyfikowane bez przeprowadzania konwersji.
--forceWymusza konwersję, nawet jeśli istnieją źle sformułowane dyrektywy. Domyślnie polecenie kończy się niepowodzeniem, jeśli napotka dyrektywy, których nie można poprawnie przeanalizować ani przekonwertować.
-
--interactiveUmożliwia zatrzymanie polecenia i oczekiwanie na wprowadzenie lub działanie użytkownika. Na przykład w celu ukończenia uwierzytelniania.
-o|--output <OUTPUT_DIRECTORY>Określa katalog wyjściowy przekonwertowanego projektu. Jeśli nie zostanie określony, katalog zostanie utworzony o tej samej nazwie co plik wejściowy (bez rozszerzenia) w bieżącym katalogu.
-
-?|-h|--helpWyświetla opis sposobu używania polecenia .
Przykłady
Przekonwertuj program oparty na plikach na projekt:
dotnet project convert app.csBiorąc pod uwagę folder zawierający app.cs z następującą zawartością:
#: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();Uruchomienie
dotnet project convert app.cswyników w folderze o nazwie app zawierającym: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>Przekonwertuj program oparty na plikach na projekt w określonym katalogu wyjściowym:
dotnet project convert app.cs --output MyProject