Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk a következőre vonatkozik: ✔️ .NET 10 SDK és újabb verziók
Név
dotnet project convert – Fájlalapú programot projektalapú programmá alakít át.
Áttekintés
dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
[-o|--output <OUTPUT_DIRECTORY>]
dotnet project convert -h|--help
Description
A dotnet project convert parancs egy fájlalapú programot projektalapú programmá alakít át. Ez a parancs létrehoz egy új könyvtárat a fájlhoz, létrehoz egy .csproj fájlt, áthelyezi a kódot egy olyan fájlba, amelynek a neve megegyezik a bemeneti fájl nevével, és lefordítja az irányelveket #: AZ MSBuild tulajdonságokra és hivatkozásokra.
Ez zökkenőmentessé teszi az áttérést egyetlen fájlról egy teljesen működőképes, felépíthető és bővíthető projektre. Ha a fájlalapú alkalmazás összetettebbé válik, vagy egyszerűen csak a projektalapú alkalmazásokban elérhető további képességeket szeretné használni, átalakíthatja egy standard projektté.
Átváltási folyamat
A parancs a következő műveleteket hajtja végre:
- Létrehoz egy új könyvtárat a bemeneti fájlról (bővítmény nélkül).
- Létrehoz egy .csproj fájlt a megfelelő SDK-val és tulajdonságokkal.
- A forráskódot áthelyezi egy olyan fájlba, amelynek a neve megegyezik a bemeneti fájl nevével.
- Eltávolítja az irányelveket
#:a forráskódból. - Irányelveket
#:sdkfordít le: az első#:sdkirányelv lesz az vagy<Project Sdk="Sdk.Id/version">attribútum<Project Sdk="Sdk.Id">, és minden további#:sdkirányelv válik vagy<Sdk Name="Sdk.Id" Version="version" />elemzé válik<Sdk Name="Sdk.Id" />. - Irányelvek
<PackageReference>fordítása#:packagea projektfájl elemeire. -
#:propertyA projektfájlban lévő MSBuild tulajdonságokra lefordítja az irányelveket. - Beállítja a megfelelő MSBuild tulajdonságokat az észlelt SDK és keretrendszer alapján.
Arguments
FILEA konvertálni kívánt fájlalapú program elérési útja. A fájlnak C# forrásfájlnak kell lennie (általában .cs kiterjesztéssel).
Beállítások
--dry-runA fájlrendszer tényleges módosítása nélkül határozza meg a módosításokat. Azt jeleníti meg, hogy mi jön létre vagy módosítva az átalakítás végrehajtása nélkül.
--forceAz átalakítást még akkor is kényszeríti, ha vannak helytelenül formázott irányelvek. Alapértelmezés szerint a parancs meghiúsul, ha olyan irányelvekkel találkozik, amelyeket nem lehet megfelelően elemezni vagy konvertálni.
-
--interactiveLehetővé teszi, hogy a parancs leálljon, és várja meg a felhasználói bemenetet vagy műveletet. Például a hitelesítés befejezéséhez.
-o|--output <OUTPUT_DIRECTORY>Megadja a konvertált projekt kimeneti könyvtárát. Ha nincs megadva, a rendszer egy olyan könyvtárat hoz létre, amelynek neve megegyezik az aktuális könyvtár bemeneti fájljával (kiterjesztés nélkül).
-
-?|-h|--helpA parancs használatának leírását nyomtatja ki.
Példák
Fájlalapú program átalakítása projektté:
dotnet project convert app.csA következő tartalommal rendelkező app.cs tartalmazó mappa:
#: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();Az eredmények futtatása
dotnet project convert app.csegy alkalmazás nevű mappában, amely a következőket tartalmazza:alkalmazás/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>Fájlalapú program konvertálása projektté egy adott kimeneti könyvtárban:
dotnet project convert app.cs --output MyProject