0

我正在开发一个由两个 DLL 组成的 C# 组件:

  1. 用 C++/CLI 编写的 .DLL 导出符号;不幸的是,这个 DLL 动态链接到 CRT,似乎没有办法解决这个问题。
  2. AC# 组装。

C++/CLI DLL 被加载,然后加载 C# 程序集(并将大多数调用转发给它)。是否可以简化这种情况,以便我立即从 C# 程序集中导出符号?

4

2 回答 2

1

您可以从 C# 将您的功能导出为COM 服务器,这样从 C++ 调用它应该很容易,就像您对任何其他非 C# COM 对象所做的那样。

于 2013-07-22T10:52:53.543 回答
0

我最终选择了http://www.codeproject.com/Articles/37675/Simple-Method-of-DLL-Export-without-C-CLI中描述的解决方案

一般的方法是有一个专用的属性,用于装饰要导出的函数。构建组件后,ildasm用于拆卸它。生成的 IL 被打了一点补丁,以便导出预先修饰的函数,然后再次将 IL 组装成一个程序集。

于 2013-07-22T12:50:29.130 回答