COM 类型库(C# 调用 C++ COM)

来源:互联网 发布:c语言中变量的定义 编辑:程序博客网 时间:2024/05/22 17:37

COM

  1. C# 调用 C++ COM
    1. DLL 使用tlbimp 将 C++ COM 类型库导出
      1. tlbimp "debug_win_x64\SDKWrapper.dll" /out:"debug_win_x64\SDKWrapperLib.dll"
    2. 签名
      1. tlbimp "..\SDKWrapper\$(Configuration)_win_$(Platform)\SDKWrapper.dll" /machine:x64 keyfile:"..\SDKWrapper\\Common.snk" out:"..\SDKWrapper\$(Configuration)_win_$(Platform)\SDKWrapperLib.dll"
  2. VS 工程引用 导出类型库 SDKWrapperLib.dll
    1. 在其他C#工程中需要使用这个导出类型库的时候,直接add reference添加这个导出类型库即可
  3. VS (2013)C#强名工程编译问题
    1. 如果一个C#强名工程已经引用过这个导出类型库,但是之前导入的时候这个类型库没有强名
      1. 直接编译会报错
      2. 使用方法二强名签名后,替换掉之前的类型库,在次编译C#强名工程
      3. 直接编译依旧会报错
      4. 这个需要将C#强名工程中的那个导出类型库,先从reference中删除,再重新添加
      5. 再次编译,成功
0 0