如何在不更改 COM+ 类 ID 的情况下向类添加方法
本文关键字:ID 情况下 方法 添加 COM+ | 更新日期: 2023-09-27 18:33:52
我正在dll中编写一些必须符合某些规范的代码。其中之一是它只能使用当前拥有的方法、枚举、类等。
所有一种方法的规范都由我"提交"dll的应用程序强制执行。如果它不符合规范,它会拒绝它。
更新:这在 C# 中特别发生。有关规范的文档指出:"如果更改了四个公共函数以外的任何代码,则COM+类ID可能会更改,并且对象安全脚本将不起作用,从而导致BSTCustomValidation.dll验证组件无法运行。
鉴于要求是只有一个导出函数,那么通过不导出其他 19 个函数很容易实现这一点。
听起来你应该定义一个显式接口。
由于 COM 互操作自动生成类接口,因此对类的版本后更改可能会更改公共语言运行库公开的类接口的布局。由于 COM 客户端通常没有准备好处理接口布局中的更改,因此如果更改类的成员布局,它们会中断。
将其与声明所有private
或internal
相结合就足够了。