包装c++在c++ /CLI clr:安全的c# COM互操作
Wrapper C++ in C++/CLI clr:safe for C# COM Interop
是否有任何方法使包装器clr:安全的项目在c++非托管?
我的小故事就是这样开始的,
"天哪,你必须做一个‘c# COM互操作’项目,但这个项目必须使用一个‘c++库’,而且结果必须只有‘一个’(dll COM)。"
好了,经过几天的搜索,我意识到可以用两种方式使用c++库:添加资源并使用PInvoke调用或创建包装器c++/CLI。使用PInvoke,我不能只有一个dll(对吗?)。所以我选择了第二个选项"包装c++/CLI"。一开始似乎很容易,我重新编译了Visual Studio 2005到2010的库,创建了一个CLR项目(使用keypair)。SNK和重新签名)添加了库。作品! /现在我将使用ILMerge,哦,这是什么?只有clr:安全吗?为什么?好吧,我尝试重新编译c++/CLI到clr:safe,但出现错误…
我该如何解决这个问题?
ILMerge不是合适的工具。
相反,您将c#编译为一个。net模块,并将其与所有c++/CLI对象文件一起传递给c++/CLI链接器。
相关文章:
- 如何读取 C++ SAFEARRAY**,该 SAFEARRAY** 是 COM 互操作的结果,其中 C# 返回值为
- 编译为 wasm 的 C++ 和 Rust 程序可以以某种方式互操作吗?
- 有什么语言可以与C++互操作吗
- 使 Flutter C/C++ 互操作示例正常工作
- C++互操作(隐式 PInvoke)的限制
- COM 互操作结构定义与内存布局不匹配
- _Complex 和 std::complex 之间的 C/C++ 互操作
- C# COM 服务器互操作 - System.InvalidCastException.
- 从C++与 C 灵活阵列成员互操作的正确方法是什么?
- 如何通过 COM 互操作访问复杂对象的属性?
- 如何区分"QObject"的亲子关系关注点,例如与其他所有者进行互操作?
- DirectWrite GDI 互操作:使用"IDWriteFontFace"绘制文本的简单方法
- opencl openGL互操作内核参数用于读取 写入
- Rust 互操作与 C++ std::string
- 将互操作 HwndSource 包装在 c++/cli 中,以用于本机 c++/MFC 应用程序
- 跨 C# 和 COM 互操作使用对象C++
- 尝试为c++互操作自动生成库时出错
- 在MS Visual Studio 2010上使用带有Cuda互操作的OpenGL缓冲区时出现异常错误
- WinRT 组件内C++类之间的互操作
- 从c#到c++的互操作传递结构