1

我在 VS 2008 中开发了 2 个项目。

  1. C++ dll(核心库)
  2. C++ Excel 插件 Xll(使用 XLW 4_0_0f0)

我在 dll 和 xll 之间传输 Xlw::XlfOper 变量。很长一段时间以来,它一直运行良好。

现在我正在尝试使用 xlw.Net 在 C# 中重新实现插件项目(如下面的 3 个项目),

  1. 本机 C++ dll(核心库)
  2. 托管 C++ 包装器 dll (C++/CLI)
  3. C# Excel 插件 Xll(使用 XLW.Net)

因为 xlw.Net 不支持 XlfOper,所以我可以在我的 C++ dll 中使用 Xlw::CellMatrix。我正在托管 dll 中的 xlw::CellMatrix 和 xlwDotNet::CellMatrix 之间进行转换。然后我使用 XLW.Net 创建一个模板插件项目并引用包装器 dll。但它会抛出 CS:0433 : Type 'xlwDotNet::CellMatrix' 已经存在于两个 dll 中(即包装器和 xlw.Net)。

也许我可以通过使用编译器命令引用别名来摆脱这个错误,但我的问题不仅是关于这个错误,而且是我将加载项从 C++ 移植到 C# 的方式。具体来说,在我的情况下,还有其他更好的方法可以在 C# 中创建 XLL 吗?我是.Net 的新手。如果我的原生 dll 不使用 CellMatrix,或者我的核心库是用 C# 编写的,那将非常简单。有没有人经历过这种情况?我做了很多试错并在互联网上搜索了这个问题,但没有成功。

本机库很大,由于性能问题,我不想将其转换为 C#。

谢谢你。

4

0 回答 0