Изменение выходного каталога сборки

Вы можете указать расположение выходных данных проекта для каждой конфигурации (для отладки, выпуска или и того и другого).

Изменение выходного каталога сборки

  1. Чтобы открыть страницы свойств проекта, в обозревателе решений щелкните узел проекта правой кнопкой мыши и выберите пункт Свойства.

  2. В зависимости от типа проекта выберите соответствующую вкладку.

    • Для C# выберите вкладку Сборка.
    • Для Visual Basic выберите вкладку Компиляция.
    • Для C++ или JavaScript выберите вкладку Общие.
  3. В раскрывающемся списке конфигураций в верхней части окна выберите конфигурацию, расположение файла выходных данных которой нужно изменить (Отладка, Выпуск или Все конфигурации).

  4. Найдите запись выходного пути на странице— она отличается в зависимости от типа проекта:

    • Выходной путь для проектов C# и JavaScript
    • Выходной путь сборки для проектов Visual Basic
    • Выходной каталог для проектов Visual C++

    Введите путь к созданию выходных данных (абсолютным или относительно корневого каталога проекта) или выберите "Обзор ", чтобы перейти к этой папке.

    Выходной путь для проекта Visual Studio C#

    Примечание.

    Для некоторых проектов в путь сборки по умолчанию включаются платформа и среда выполнения. Чтобы они не включались, в обозревателе решений щелкните узел проекта правой кнопкой мыши, выберите команду Изменить файл проекта и добавьте следующее:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

Совет

Если выходные данные не создаются в указанном расположении, убедитесь, что выполняется сборка соответствующей конфигурации (например, Отладка или Выпуск), выбрав ее в строке меню Visual Studio.

Средство выбора конфигурации

Изменение выходного каталога сборки

В Visual Studio 2022 существуют разные пользовательские интерфейсы конструктора проектов в зависимости от типа проекта. C# платформа .NET Framework и все проекты Visual Basic используют устаревший конструктор проектов .NET, но проекты C# .NET Core (и .NET 5 и более поздних версий) используют текущий конструктор проектов .NET. Проекты C++ используют собственный пользовательский интерфейс страниц свойств. Действия, описанные в этом разделе, зависят от используемого конструктора проектов.

Изменение выходного каталога сборки с помощью текущего конструктора проектов .NET

  1. Щелкните правой кнопкой мыши узел проекта в Обозреватель решений и выберите "Свойства".

  2. Разверните раздел "Сборка" и прокрутите вниз до подраздела "Вывод".

  3. Найдите базовый выходной путь для C#и введите путь, чтобы создать выходные данные в (абсолютный или относительный к корневому каталогу проекта) или выберите "Обзор ", чтобы перейти к этой папке. Обратите внимание, что имя конфигурации добавляется к базовому выходному пути для создания фактического выходного пути.

    Снимок экрана: свойство выходного пути для проекта C# .NET Core.

    Примечание.

    Для некоторых проектов в путь сборки по умолчанию включаются платформа и среда выполнения. Чтобы они не включались, в обозревателе решений щелкните узел проекта правой кнопкой мыши, выберите команду Изменить файл проекта и добавьте следующее:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

Совет

Если выходные данные не создаются в указанном расположении, убедитесь, что выполняется сборка соответствующей конфигурации (например, Отладка или Выпуск), выбрав ее в строке меню Visual Studio.

Снимок экрана: средство выбора конфигурации сборки в Visual Studio 2022.

Изменение выходного каталога сборки с помощью устаревших страниц свойств конструктора проектов .NET или C++

  1. Щелкните правой кнопкой мыши узел проекта в Обозреватель решений и выберите "Свойства".

  2. В зависимости от типа проекта выберите соответствующую вкладку.

    • Для C# выберите вкладку Сборка.
    • Для Visual Basic выберите вкладку Компиляция.
    • Для C++ или JavaScript выберите вкладку Общие.
  3. В раскрывающемся списке конфигураций в верхней части окна выберите конфигурацию, расположение файла выходных данных которой нужно изменить (Отладка, Выпуск или Все конфигурации).

  4. Найдите запись выходного пути на странице— она отличается в зависимости от типа проекта:

    • Выходной путь для проектов C# и JavaScript
    • Выходной путь сборки для проектов Visual Basic
    • Выходной каталог для проектов Visual C++

    Введите путь (абсолютный или относительный для корневого каталога проекта), по которому будут созданы выходные данные, или нажмите кнопку Обзор чтобы перейти к этой папке.

    Снимок экрана: свойство пути вывода для проекта платформа .NET Framework C#.

    Примечание.

    Для некоторых проектов в путь сборки по умолчанию включаются платформа и среда выполнения. Чтобы они не включались, в обозревателе решений щелкните узел проекта правой кнопкой мыши, выберите команду Изменить файл проекта и добавьте следующее:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

Сборка в общий выходной каталог

По умолчанию Visual Studio создает каждый проект в решении в своей папке внутри решения. Вы можете изменить пути вывода сборки для проекта, чтобы принудительно поместить все выходные данные в одну папку.

Помещение всех выходных данных решения в общий каталог

  1. Щелкните один проект в решении.

  2. В меню Проект выберите пункт Свойства.

  3. В каждом проекте в зависимости от типа выберите "Компиляция" или "Сборка" и задайте путь вывода или базовый выходной путь к папке, используемой для всех проектов в решении.

  4. Откройте файл проекта и добавьте следующее объявление свойства в первую группу свойств.

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <UseCommonOutputDirectory>true</UseCommonOutputDirectory>
    </PropertyGroup>
    

    Задание параметру UseCommonOutputDirectory значения true указывает Visual Studio и его обработчику сборки MSBuild, что вы помещаете выходные данные нескольких проектов в одну папку, поэтому MSBuild будет пропускать этап копирования, которое обычно выполняется, если проекты зависят от других проектов.

  5. Повторите шаги 1–4 для всех проектов в решении. Можно пропустить некоторые проекты в качестве исключения, если они не должны использовать общий выходной каталог.

Задание промежуточного выходного каталога для проекта (проекты .NET)

  1. Откройте файл проекта.

  2. Добавьте следующее объявление свойства в первую группу свойств.

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <IntermediateOutputPath>path</IntermediateOutputPath>
    </PropertyGroup>
    

    Можно использовать как относительный путь к файлу проекта, так и абсолютный. Если вы хотите указать имя проекта в пути, можно сделать ссылку на него с помощью свойств MSBuild $(MSBuildProjectName) и $(MSBuildProjectDirectory). Другие доступные свойства см. в статье Зарезервированные и стандартные свойства MSBuild.

  3. При сборке Visual Studio по-прежнему будет создавать папку "obj" в папке проекта, но она будет пуста. Ее можно удалить во время сборки. Чтобы сделать это, можно добавить событие после сборки для выполнения следующей команды:

    rd "$(ProjectDir)obj" /s /q
    

    См. статью Указание пользовательских событий сборки.