Практическое руководство. Изменение выходного каталога сборки
Применимо к:Visual Studio Visual Studio для Mac Visual Studio Code
Вы можете указать расположение выходных данных проекта для каждой конфигурации (для отладки, выпуска или и того и другого).
Изменение выходного каталога сборки
Чтобы открыть страницы свойств проекта, в обозревателе решений щелкните узел проекта правой кнопкой мыши и выберите пункт Свойства.
В зависимости от типа проекта выберите соответствующую вкладку.
- Для C# выберите вкладку Сборка.
- Для Visual Basic выберите вкладку Компиляция.
- Для C++ или JavaScript выберите вкладку Общие.
В раскрывающемся списке конфигураций в верхней части окна выберите конфигурацию, расположение файла выходных данных которой нужно изменить (Отладка, Выпуск или Все конфигурации).
Найдите запись выходного пути на странице— она отличается в зависимости от типа проекта:
- Выходной путь для проектов C# и JavaScript
- Выходной путь сборки для проектов Visual Basic
- Выходной каталог для проектов Visual C++
Введите путь (абсолютный или относительный для корневого каталога проекта), по которому будут созданы выходные данные, или нажмите кнопку Обзор чтобы перейти к этой папке.
Примечание
Для некоторых проектов в путь сборки по умолчанию включаются платформа и среда выполнения. Чтобы они не включались, в обозревателе решений щелкните узел проекта правой кнопкой мыши, выберите команду Изменить файл проекта и добавьте следующее:
<PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> </PropertyGroup>
Совет
Если выходные данные не создаются в указанном расположении, убедитесь, что выполняется сборка соответствующей конфигурации (например, Отладка или Выпуск), выбрав ее в строке меню Visual Studio.
Изменение выходного каталога сборки
В Visual Studio 2022 г. существуют различные пользовательские интерфейсы конструктора Project в зависимости от типа проекта. C# платформа .NET Framework и все проекты Visual Basic используют устаревший конструктор .NET Project, но проекты C# .NET Core (и .NET 5 и более поздних версий) используют текущую .NET Project Дизайнер. Проекты C++ используют собственный пользовательский интерфейс страниц свойств. Действия, описанные в этом разделе, зависят от используемого конструктора Project.
Изменение выходного каталога сборки с помощью устаревших страниц свойств конструктора .NET Project или C++
Щелкните правой кнопкой мыши узел проекта в Обозреватель решений и выберите "Свойства".
В зависимости от типа проекта выберите соответствующую вкладку.
- Для C# выберите вкладку Сборка.
- Для Visual Basic выберите вкладку Компиляция.
- Для C++ или JavaScript выберите вкладку Общие.
В раскрывающемся списке конфигураций в верхней части окна выберите конфигурацию, расположение файла выходных данных которой нужно изменить (Отладка, Выпуск или Все конфигурации).
Найдите запись выходного пути на странице— она отличается в зависимости от типа проекта:
- Выходной путь для проектов C# и JavaScript
- Выходной путь сборки для проектов Visual Basic
- Выходной каталог для проектов Visual C++
Введите путь (абсолютный или относительный для корневого каталога проекта), по которому будут созданы выходные данные, или нажмите кнопку Обзор чтобы перейти к этой папке.
Примечание
Для некоторых проектов в путь сборки по умолчанию включаются платформа и среда выполнения. Чтобы они не включались, в обозревателе решений щелкните узел проекта правой кнопкой мыши, выберите команду Изменить файл проекта и добавьте следующее:
<PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> </PropertyGroup>
Изменение выходного каталога сборки с помощью текущего конструктора .NET Project
Щелкните правой кнопкой мыши узел проекта в Обозреватель решений и выберите "Свойства".
Разверните раздел "Сборка" и выберите подраздел "Выходные данные ".
Найдите базовый выходной путь для C# и введите путь для создания выходных данных (абсолютный или относительный к корневому каталогу проекта) или нажмите кнопку "Обзор", чтобы перейти к этой папке. Обратите внимание, что имя конфигурации добавляется к базовому выходному пути для создания фактического выходного пути.
Примечание
Для некоторых проектов в путь сборки по умолчанию включаются платформа и среда выполнения. Чтобы они не включались, в обозревателе решений щелкните узел проекта правой кнопкой мыши, выберите команду Изменить файл проекта и добавьте следующее:
<PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> </PropertyGroup>
Совет
Если выходные данные не создаются в указанном расположении, убедитесь, что выполняется сборка соответствующей конфигурации (например, Отладка или Выпуск), выбрав ее в строке меню Visual Studio.
Сборка в общий выходной каталог
По умолчанию Visual Studio выполняет сборку каждого проекта в решении в собственной папке в решении. Вы можете изменить пути вывода сборки для проекта, чтобы принудительно поместить все выходные данные в одну папку.
Помещение всех выходных данных решения в общий каталог
Щелкните один проект в решении.
В меню Проект выберите Свойства.
В каждом проекте в зависимости от типа выберите "Компиляция " или " Сборка" и задайте выходной путь или базовый путь к папке, используемой для всех проектов в решении.
Откройте файл проекта и добавьте следующее объявление свойства в первую группу свойств.
<PropertyGroup> <!-- existing property declarations are here --> <UseCommonOutputDirectory>true</UseCommonOutputDirectory> </PropertyGroup>
Задание параметру
UseCommonOutputDirectory
значенияtrue
указывает Visual Studio и его обработчику сборки MSBuild, что вы помещаете выходные данные нескольких проектов в одну папку, поэтому MSBuild будет пропускать этап копирования, которое обычно выполняется, если проекты зависят от других проектов.Повторите шаги 1–4 для всех проектов в решении. Можно пропустить некоторые проекты в качестве исключения, если они не должны использовать общий выходной каталог.
Задание промежуточного выходного каталога для проекта (проекты .NET)
Откройте файл проекта.
Добавьте следующее объявление свойства в первую группу свойств.
<PropertyGroup> <!-- existing property declarations are here --> <IntermediateOutputPath>path</IntermediateOutputPath> <PropertyGroup>
Можно использовать как относительный путь к файлу проекта, так и абсолютный. Если вы хотите указать имя проекта в пути, можно сделать ссылку на него с помощью свойств MSBuild
$(MSBuildProjectName)
и$(MSBuildProjectDirectory)
. Другие доступные свойства см. в статье Зарезервированные и стандартные свойства MSBuild.При сборке Visual Studio по-прежнему будет создавать папку "obj" в папке проекта, но она будет пуста. Ее можно удалить во время сборки. Чтобы сделать это, можно добавить событие после сборки для выполнения следующей команды:
rd "$(ProjectDir)obj" /s /q
См. статью Указание пользовательских событий сборки.
Папка "obj" не будет создаваться при выполнении сборки из командной строки MSBuild.
См. также раздел
- Сведения о странице сборки в конструкторе проектов (C#)
- Сведения о странице свойств "Общие" (проект)
- Компиляция и сборка