我有一个COM+ DLL
,其中包含一些主要类和其他辅助类,这些类不是公共方法使用的。使用regsvcs
命令注册DLL时,所有类都将添加到注册表和TLB文件中。
有什么属性或其他解决方案可以避免将辅助类添加到注册表中?
我找到了ComVisibleAttribute
属性,但它似乎只与继承有关。
答案 0 :(得分:2)
ComVisibleAttribute是要使用的正确属性。在AssemblyInfo.cs中,您可以使用
[assembly: ComVisible(false)]
默认情况下,所有内容都不 COM可见,然后对于您希望可见的类,请在
之前显示[ComVisible(true)]
public class MyClass
或者反过来翻转它,如果你想要大多数类型是COM可见的,只有少数几个是不可见的。我更喜欢默认情况下看不见的所有内容,因为它让我可以更好地控制暴露给COM的内容。