Change assembly name based on configuration (Visual Studio 2005/2008)

12,739

If you right click on your project and choose "Edit Project File" (I'm in 2008 here and it may be a new option, if it is then just open the project file in any old text editor) you should see something similar to the following:

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

Basically any properties that aren't overriden in a more specific property group are inherited from the more general, first group. So to achieve what you want just edit the file so that the AssemblyName tag is defined in each of the specific groups:

  <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>

This will change the assembly name on a per config basis.

Share:
12,739
moleboy
Author by

moleboy

I work in software engineering, currently engaged as a QA Automation Developer. My specializations are installers, build systems, development processes, software quality assurance, and tools and technologies. Current languages: C#, C++, Pascal, Python I currently work in the business domain of ride sharing platforms. Previous business domains: ground water / hydrogeology Industrial machine vision International Space Station telemetry Building Management (HVAC) control systems Hydro-electric decision support systems

Updated on June 04, 2022

Comments

  • moleboy
    moleboy almost 2 years

    Is it possible to change the assembly name based on the project configuration?

    I have tried conditional pragmas on the assemblyinfo.cs file, but that only changes the assembly attributes, not the name itself.