【发布时间】:2009-05-21 13:45:34
【问题描述】:
是否可以根据项目配置更改程序集名称?
我已经在 assemblyinfo.cs 文件上尝试了条件编译指示,但这只会更改程序集属性,而不是名称本身。
【问题讨论】:
标签: visual-studio visual-studio-2008 visual-studio-2005
是否可以根据项目配置更改程序集名称?
我已经在 assemblyinfo.cs 文件上尝试了条件编译指示,但这只会更改程序集属性,而不是名称本身。
【问题讨论】:
标签: visual-studio visual-studio-2008 visual-studio-2005
如果您右键单击您的项目并选择“编辑项目文件”(我在这里是 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>
这将根据每个配置更改程序集名称。
【讨论】:
.csproj的文件,对于那些想知道的人。
.csproj 实际上是一个 msbuild 项目文件,并且 msbuild 支持这一点,所以唯一的问题是你说的 UI。其他开发人员编辑这几乎不是问题,因为他们没有理由更改它,而且由于审查提交,它也很容易在源代码控制中捕获和恢复。