根据配置更改程序集名称(Visual Studio 2005/2008)

Rob*_*ter 24 visual-studio-2005 visual-studio-2008 visual-studio

是否可以根据项目配置更改程序集名称?

我在assemblyinfo.cs文件中尝试过条件编译指示,但这只会更改程序集属性,而不是名称本身.

Mar*_*ris 42

如果你右键单击你的项目并选择"编辑项目文件"(我在2008年,它可能是一个新的选项,如果它只是在任何旧的文本编辑器中打开项目文件)你应该看到类似于下列:

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

基本上,在更具体的第一组中继承任何未在特定属性组中覆盖的属性.因此,要实现您想要的内容,只需编辑该文件,以便在每个特定组中定义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>
Run Code Online (Sandbox Code Playgroud)

这将在每个配置的基础上更改程序集名称.

  • @caesay我发现相同。我已经安装了大约6个月了。我们在项目文件上确实还有其他两名开发人员,但我遇到过一些事件,但是就像您所说的那样,在源代码控制的帮助下我无法克服。我会说这些项目属性似乎仅是根据项目负载计算的。如果更改配置,则必须关闭并重新打开项目/解决方案才能生效。那伤了我几次。 (2认同)