C# GUID提供此类的COM标识 '及其COM接口。如果您更改它们,则现有 '客户端将无法再访问该类。 公共常数ClassId为String=“9b9bbe1c-7b20-4826-b12e-9062fc4549a2” Public Const Interfa

C# GUID提供此类的COM标识 '及其COM接口。如果您更改它们,则现有 '客户端将无法再访问该类。 公共常数ClassId为String=“9b9bbe1c-7b20-4826-b12e-9062fc4549a2” Public Const Interfa,c#,vb.net,plugins,winmerge,C#,Vb.net,Plugins,Winmerge,GUID提供此类的COM标识 '及其COM接口。如果您更改它们,则现有 '客户端将无法再访问该类。 公共常数ClassId为String=“9b9bbe1c-7b20-4826-b12e-9062fc4549a2” Public Const InterfaceId As String=“b0f2aa59-b9d0-454a-8148-9715c83dbb72” Public Const EventsId为String=“8f4f9c82-6ba3-4c22-8814-995ca1050de2”

GUID提供此类的COM标识 '及其COM接口。如果您更改它们,则现有 '客户端将无法再访问该类。 公共常数ClassId为String=“9b9bbe1c-7b20-4826-b12e-9062fc4549a2” Public Const InterfaceId As String=“b0f2aa59-b9d0-454a-8148-9715c83dbb72” Public Const EventsId为String=“8f4f9c82-6ba3-4c22-8814-995ca1050de2” #末端区域 '可创建的COM类必须有一个Public Sub New() '如果没有参数,则该类将不会 '已在COM注册表中注册,无法创建 '通过CreateObject。 公共分新() MyBase.New() 端接头 作为字符串的公共函数HelloWorld() 返回“你好,世界!” 端函数 末级 结束命名空间
谢谢-我在WinMergeScript类前面和每个公共函数前面添加了“\u1”。我已经在AssemblyInfo对话框中勾选了“使程序集COM可见”,可从项目属性、应用程序、程序集信息按钮访问。我在任何地方都找不到“注册COM”(VisualStudio2008)。仍然不起作用,并且DLL查看器在编译的DLL中不显示COM对象或方法。[稍后]我在项目编译选项中找到了“注册COM互操作”,并且已经勾选了。您是否让它起作用?如果是:你能分享吗?@fabsenet我知道你真的在问OP,但我刚刚回顾了WinMerge 2.14.0的实际代码,我认为它只适用于真正的COM DLL(和OCX),主要是因为它不需要注册COM对象。它需要扩展到至少引用.tlb,或者调整为不允许指定路径,但需要比
“WinMergeScript”
更明确的ID。您好@MarkHurd,这也是我的经验。我试着用c#dll导出的东西来镜像实际插件的ComExport,但winmerge仍然没有列出它。