excel dna addins如何在xll文件中打包非托管dll

问题描述

我想使用ml.net来实现Excel功能 .NET Framework经典中的ml.net需要一个不受管的dll ... 当我在调试文件夹中手动复制dll时,一切正常。 Excel的DNA不支持引用文件夹中不包含的非托管DLL ... 我如何打包非托管dll并打包到xll文件中?

解决方法

Excel-DNA打包当前不支持非托管DLL的打包,因此您将无法使用内置打包机制(即ExcelDnaPack)来打包ml.net非托管DLL。

作为一种解决方法,您可以将ml.net非托管DLL作为嵌入式资源添加到.NET程序集中,然后在外接程序开始之前将其提取到磁盘中,而不使用任何使用该DLL的代码。有机会跑步。

然后,您将自己调用LoadLibrary,以将该非托管DLL加载到进程中。

一些有用的链接供参考: