Подтвердить что ты не робот

VS2008 - вывод другого имени файла для конфигураций Debug/Release

При создании приложения С# с Visual Studio 2008 возможно ли установить другое имя выходного файла для каждой конфигурации?

e.g.

MyApp_Debug.exe
MyApp_Release.exe

Я попробовал шаг после сборки, чтобы переименовать файл, добавив текущую конфигурацию, но это кажется непристойным. Кроме того, это означало, что Visual Studio больше не сможет найти файл при нажатии F5, чтобы начать отладку.

4b9b3361

Ответ 1

Это можно сделать, отредактировав файл проекта вручную. Найдите <AssemblyName> node и добавьте к нему условный атрибут:

<AssemblyName Condition="'$(Configuration)'=='Debug'">MyApp_Debug.exe</AssemblyName>
<AssemblyName Condition="'$(Configuration)'=='Release'">MyApp_Release.exe</AssemblyName>

Вам придется дублировать его, чтобы добавить еще один условный атрибут для версии выпуска.

В то время как это возможно, это может вызвать проблемы. Существует атрибут AssemblyConfiguration, который может быть применен к вашей сборке. В AssemblyInfo.cs, поставьте:

#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
#else
[assembly: AssemblyConfiguration("Release")]
#endif

Это добавит свойство вашей скомпилированной сборки, которая сообщит вам, какую конфигурацию сборки вы создали с помощью.

Ответ 2

Как упоминалось в adrianbanks, вы можете отредактировать свой файл .csproj вручную, чтобы выполнить это.

Я бы, однако, рекомендовал более простую форму:

<AssemblyName>MyApp_$(Configuration).exe</AssemblyName>

Если вы когда-либо редактируете свойства этого проекта, это изменение, скорее всего, будет потеряно. Это то, что вам придется вручную оставаться на вершине, так как это не будет поддерживаемой установкой.

Чтобы вручную изменить определение вашего проекта, щелкните правой кнопкой мыши проект в Visual Studio и выберите "Выгрузить", затем щелкните правой кнопкой мыши на выгруженном проекте и выберите "Изменить", и он откроет для вас определение XML.

Ответ 3

Я уверен, что есть, однако, мой опыт использования разных имен файлов для конфигураций debug/release - плохая идея, так как это может вызвать всевозможные проблемы (очень похоже на проблему VS, когда она пытается выполнить переименованное приложение )

Почему бы просто не указать, является ли его отладка/выпуск в атрибутах Assembly (например, в комментариях)