Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В .NET 8 и более поздних версиях существует возможность упростить выходной путь и структуру папок для выходных данных сборки. Все выходные данные сборки всех проектов собираются в общее расположение, разделенное проектом. Общее расположение упрощает инструментирование для прогнозирования того, где найти выходные данные.
По умолчанию общее расположение — это каталог с именем артефактов рядом с файлом Directory.build.props . Структура папок в папке корневых артефактов выглядит следующим образом:
📁 artifacts
└──📂 <Type of output>
└──📂 <Project name>
└──📂 <Pivot>
В следующей таблице показаны значения по умолчанию для каждого уровня в структуре папок. Можно переопределить значения, а также расположение по умолчанию, используя свойства в файле Directory.build.props .
| Уровень папки | Описание | Примеры |
|---|---|---|
| Тип выходных данных | Категории выходных данных сборки, такие как двоичные файлы, промежуточные или созданные файлы, опубликованные приложения и пакеты NuGet. |
bin, , objpublishpackage |
| Имя проекта† | Разделяет выходные данные по каждому проекту. | MyApp |
| Поворот | Различает сборки проекта для различных конфигураций, целевых платформ и идентификаторов среды выполнения. Если требуется несколько элементов, они объединяются символом подчеркивания (_). Можно настроить с помощью ArtifactsPivots свойства MSBuild. |
debug, , debug_net8.0releaserelease_linux-x64 |
† Подпапка с названием проекта опущена для путей вывода пакета. Кроме того, сводная подпапка включает только конфигурацию.
Примеры
В следующей таблице показаны примеры путей, которые могут быть созданы.
| Путь | Описание |
|---|---|
| артефакты\bin\MyApp\debug | Выходной путь сборки для простого проекта при запуске dotnet build. |
| артефакты\obj\MyApp\debug | Промежуточный выходной путь для простого проекта при запуске dotnet build. |
| артефакты\bin\MyApp\debug_net8.0 | Выходной путь сборки для net8.0 сборки многоцелого проекта. |
| артефакты\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>
Имя папки "сводная" по умолчанию используется для сочетания моникера целевой платформы (TFM), конфигурации и идентификатора среды выполнения (RID). Все, которые отсутствуют, опущены. Чтобы настроить имя папки сводной таблицы, задайте ArtifactsPivots для свойства MSBuild нужную строку. Например:
<PropertyGroup>
...
<ArtifactsPivots>$(ArtifactsPivots)_MyCustomPivot</ArtifactsPivots>
</PropertyGroup>