如何使用Visual Studio 2008创建COM dll?创建dll需要哪些自定义设置?该DLL应该在Microsoft Navision(ERP PACKAGE)中使用。
答案 0 :(得分:0)
只需创建一个类库。在项目属性中,打开对话框,您可以在其中更改装配信息并选中“使装配COM可见”复选框(抱歉,不知道选项的确切名称,使用德语VS 2008)。
然后,将以下属性添加到应该从Navision中使用的任何类:
[ClassInterface(ClassInterfaceType.AutoDual)]
[ProgId("YOUR-ID-GOES-HERE")]
[ComVisible(true)]
[Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")]
public class ComVisbleClass
{
....
}
我建议您也使用DispId
属性手动将Disp-ID分配给公共方法和属性。否则,插入新的公共方法或属性可能会破坏Navision功能,因为在编译时可能会更改Disp-ID。
Navision将引用旧的Disp-ID,它们现在可以“指向”不同的方法。这是一个要调试和解决的PITA,所以从一开始就使用DispId
属性。