Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В .NET 8 и более поздних версиях существует возможность упростить выходной путь и структуру папок для выходных данных сборки. Все выходные данные сборки всех проектов собираются в общий каталог, разделенный по проектам. Общее расположение упрощает инструментам задачу предсказать, где найти выходные данные.
По умолчанию общее расположение — это каталог с именем артефактов рядом с файлом Directory.build.props . Структура папок в папке корневых артефактов выглядит следующим образом:
📁 artifacts
└──📂 <Type of output>
└──📂 <Project name>
└──📂 <Pivot>
В следующей таблице показаны значения по умолчанию для каждого уровня в структуре папок. Можно переопределить значения, а также расположение по умолчанию, используя свойства в файле Directory.build.props .
| Уровень папки | Описание | Примеры |
|---|---|---|
| Тип выходных данных | Категории выходных данных сборки, такие как двоичные файлы, промежуточные или созданные файлы, опубликованные приложения и пакеты NuGet. |
bin, obj, publish, package |
| Имя проекта† | Разделяет выходные данные по каждому проекту. По умолчанию используется имя проекта MSBuild. Можно настроить с помощью ArtifactsProjectName свойства MSBuild. |
MyApp |
| Поворот | Различает сборки проекта для различных конфигураций, целевых платформ и идентификаторов среды выполнения. Если требуется несколько элементов, они объединяются символом подчеркивания (_). Можно настроить с помощью ArtifactsPivots свойства MSBuild. |
debug, debug_net8.0, release, release_linux-x64 |
† Подпапка с названием проекта опущена для путей вывода пакета. Кроме того, сводная подпапка включает только конфигурацию.
Примеры
В следующей таблице показаны примеры путей, которые могут быть созданы.
| Путь | Описание |
|---|---|
| артефакты\bin\MyApp\debug | Выходной путь сборки для простого проекта при запуске dotnet build. |
| артефакты сборки\obj\MyApp\debug | Промежуточный выходной путь для простого проекта при запуске dotnet build. |
| artifacts\bin\MyApp\debug_net8.0 | Выходной путь сборки для net8.0 сборки многоцелевого проекта. |
| artifacts\publish\MyApp\release_linux-x64 | Путь публикации для простого приложения при публикации linux-x64. |
| артефакты\package\release | Папка, в которой создается релиз .nupkg для проекта. |
Порядок настройки
Чтобы выбрать формат централизованного выходного пути, добавьте одно из следующих свойств MSBuild в файл Directory.Build.props :
Чтобы использовать расположение выходных данных по умолчанию, задайте свойству
UseArtifactsOutputзначениеtrue.<PropertyGroup> <UseArtifactsOutput>true</UseArtifactsOutput> </PropertyGroup>Чтобы задать пользовательское местоположение для выходных данных, добавьте свойство
ArtifactsPathсо значением$(MSBuildThisFileDirectory)artifacts(или любое другое, соответствующее желаемому расположению папки). Если у вас еще нет файла Directory.Build.props , можно выполнить следующую команду, чтобы автоматически создать файл, содержащийArtifactsPathсвойство:dotnet new buildprops --use-artifactsСозданный файл выглядит примерно так:
<Project> <PropertyGroup> <ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath> </PropertyGroup> </Project>
Имя папки "pivot" по умолчанию образуется из сочетания обозначения целевой платформы (TFM), конфигурации и идентификатора среды выполнения (RID). Все, которые отсутствуют, опущены. Чтобы настроить, как называется папка «pivot», задайте ArtifactsPivots свойству MSBuild нужную строку. Например:
<PropertyGroup>
...
<ArtifactsPivots>$(ArtifactsPivots)_MyCustomPivot</ArtifactsPivots>
</PropertyGroup>
Имя папки "имя проекта" по умолчанию имеет имя проекта MSBuild. Чтобы настроить его для определенного проекта, задайте ArtifactsProjectName свойство MSBuild в файле проекта. Например:
<PropertyGroup>
<ArtifactsProjectName>CustomProjectName</ArtifactsProjectName>
</PropertyGroup>