Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья относится к: ✔️ пакета 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# на основе файлов