使用AssemblyInfo覆盖SharedAssemblyInfo的属性

时间:2018-01-17 11:30:45

标签: c# .net visual-studio visual-studio-2015 .net-assembly

我正在为解决方案中的多个项目使用共享程序集信息文件(GlobalAssemblyInfo.cs),这是"添加[ed] As Link"到每个项目。每个项目还有自己的AssemblyInfo.cs,用于添加所有项目不常见的属性。不允许在两个文件中使用重复的属性。

其中一个项目需要以不同方式共享其中一个属性,但要分享其余的属性。是否有可能以及如何在AssemblyInfo.cs中使用属性覆盖GlobalAssemblyInfo.cs中的相同属性?或者我是否必须从共享文件中删除该属性并将其单独添加到所有项目中,即使除了一个之外的所有项目都相同?

特别是,除了一个项目之外的所有共享属性是:

[assembly: ComVisible(false)]

其中一个项目需要[assembly: ComVisible(true)],这会导致重复属性的冲突。澄清一下,我正在寻找的是[assembly: @override ComVisible(true)],如果它存在,但是我还没有找到类似的东西。

1 个答案:

答案 0 :(得分:2)

最简单的答案是,您的共享程序集信息应仅包含所有项目相同的项目。

任何需要不同值的项目都必须在本地程序集信息中定义,而不是在共享信息中定义。

或者,您可以使用构建任务以更加分层/可继承的方式生成程序集信息文件。