Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Эта статья относится к: ✔️ пакета SDK для .NET 10 и более поздних версий
Имя
dotnet project convert — преобразует файловую программу в программу на основе проекта.
Synopsis
dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
[-o|--output <OUTPUT_DIRECTORY>]
dotnet project convert -h|--help
Description
Команда dotnet project convert преобразует файловую программу в программу на основе проекта. Эта команда создает новый каталог с именем файла, шаблонирует CSPROJ-файл , перемещает код в файл с тем же именем, что и входной файл, и преобразует все #: директивы в свойства и ссылки MSBuild.
Это упрощает переход из одного файла в полнофункциональный, компилируемый и расширяемый проект. Когда приложение на основе файлов растет сложность или вы просто хотите, чтобы дополнительные возможности, доступные в приложениях на основе проектов, можно преобразовать его в стандартный проект.
Процесс преобразования
Команда выполняет следующие операции:
- Создает новый каталог с именем входного файла (без расширения).
- Создает CSPROJ-файл с соответствующим пакетом SDK и свойствами.
- Перемещает исходный код в файл с тем же именем, что и входной файл.
-
#:Удаляет директивы из исходного кода. - Преобразует директивы: первая директива
#:sdkстановится или<Project Sdk="Sdk.Id/version">атрибутом, а любые дополнительные#:sdkдирективы становятся<Project Sdk="Sdk.Id"><Sdk Name="Sdk.Id" />или<Sdk Name="Sdk.Id" Version="version" />элементами.#:sdk - Преобразует
#:packageдирективы<PackageReference>в элементы в файле проекта. - Преобразует
#:propertyдирективы в свойства MSBuild в файле проекта. - Задает соответствующие свойства MSBuild на основе обнаруженного пакета SDK и платформы.
Arguments
FILEПуть к преобразованной программе на основе файлов. Файл должен быть исходным файлом C# (обычно с расширением .cs ).
Options
--dry-runОпределяет изменения, не изменяя файловую систему. Показывает, что будет создано или изменено без выполнения преобразования.
--forceПринудительное преобразование, даже если имеются неправильные директивы. По умолчанию команда завершается ошибкой, если она встречает директивы, которые не могут быть правильно проанализированы или преобразованы.
-
--interactiveПозволяет команде остановиться и дождаться, пока пользователь выполнит действие или введет данные. Например, чтобы завершить проверку подлинности.
-o|--output <OUTPUT_DIRECTORY>Указывает выходной каталог для преобразованного проекта. Если не указано, каталог создается с таким же именем, как входной файл (без расширения) в текущем каталоге.
-
-?|-h|--helpВыводит описание использования команды.
Примеры
Преобразование файловой программы в проект:
dotnet project convert app.csУчитывая папку, содержащую app.cs со следующим содержимым:
#: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();Выполнение
dotnet project convert app.csрезультатов в папке с именем приложения , содержащей: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>Преобразование файловой программы в проект в определенном выходном каталоге:
dotnet project convert app.cs --output MyProject
См. также
- dotnet build (выполнение сборки командой dotnet)
- dotnet run
- dotnet publish
- Руководство. Создание программ C# на основе файлов