是否可以根据项目配置更改程序集名称?
我在assemblyinfo.cs文件中尝试了条件编译指示,但这只改变了程序集属性,而不是名称本身。
答案 0 :(得分:42)
如果您右键单击您的项目并选择“编辑项目文件”(我在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>
这将在每个配置的基础上更改程序集名称。