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

Изменить имя сборки на основе конфигурации (Visual Studio 2005/2008)

Можно ли изменить имя сборки на основе конфигурации проекта?

Я попробовал условные прагмы в файле assemblyinfo.cs, но это только изменяет атрибуты сборки, а не само название.

4b9b3361

Ответ 1

Если вы щелкните правой кнопкой мыши на своем проекте и выберите "Редактировать файл проекта" (я здесь в 2008 году, и это может быть новый вариант, если он просто открывает файл проекта в любом текстовом редакторе), вы должны увидеть что-то похожее на следующее:

  <PropertyGroup>
    ...
    <AssemblyName>ClassLibrary1</AssemblyName>
    ...
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    ...
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
  </PropertyGroup>

В принципе, любые свойства, которые не переопределяются в более конкретной группе свойств, наследуются от более общей первой группы. Поэтому для достижения того, что вы хотите, просто отредактируйте файл, чтобы тег AssemblyName был определен в каждой из определенных групп:

  <PropertyGroup>
    ...
    <AssemblyName>ClassLibrary1</AssemblyName>
    ...
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    ...
    <AssemblyName>ClassLibrary1Debug</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
    <AssemblyName>ClassLibrary1Release</AssemblyName>
  </PropertyGroup>

Это изменит имя сборки для каждой конфигурации.