【发布时间】:2019-02-02 04:40:43
【问题描述】:
我有一个公开一个类的 WSDL 服务。 使用 svcutils 我得到了我需要的课程。 问题是此类必须从引用 WSDL 的 DLL .NET 的 VB6 客户端可见。 从 VB6 我可以看到类但看不到它的属性,所以我没有启用智能感知。 如何告诉 svcutil 导出 GUID(或更多)以让类可见 COM? 谢谢
【问题讨论】:
-
你根本不应该看到它。但是您可能使用了大锤方法并勾选了“使程序集 COM 可见”复选框。它公开了项目中可见的每个公共类,它依赖于 [ClassInterface] 的默认值。故意将其调至 ClassInterfaceType.AutoDispatch,因为这样做非常危险。您必须在客户端代码中使用后期绑定以避免 DLL Hell 的主要危害,其后果之一是自动完成功能不再在 VBA 编辑器中起作用。只是不要这样做,用你自己的包装器包装 WSDL 对象。