从使用 Excel-DNA 构建的 Excel .XLL 文件中解压内容
我不知道你是否知道excel-dna项目,它是一个帮助在excel插件中集成.net汇编和语言的项目。
我的问题是我想从 xll 文件中解压 dll(excel-dna 能够将资源打包到 xll 中)。
我下载了 excel-dna 源代码并已经在源代码上编写了这个基础:
string xlllib = @"C:\pathtomyxllfile\myaddin.xll";
string xlloutput = @"C:\pathtomyxllfile\myaddin.dll";
var hModule = ResourceHelper.LoadLibrary(xlllib);
var content = ResourceHelper.LoadResourceBytes(hModule, "ASSEMBLY_LZMA", "MYASSEMBLYNAME");
using (BinaryWriter binWriter = new BinaryWriter(File.Open(xlloutput, FileMode.Create)))
{
binWriter.Write(content);
}
但它不起作用。 有人有办法从 xll 中解压 dll 吗?
提前致谢,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您希望从 Excel-DNA 加载项中提取 .NET 程序集,我编写了一个名为 ExcelDnaUnpack。源代码位于 GitHub 上:https://github.com/augustoproiete/exceldna-unpack
If you're looking to extract the .NET assemblies from an Excel-DNA add-in, I wrote a small utility called ExcelDnaUnpack. Source code is on GitHub: https://github.com/augustoproiete/exceldna-unpack
我认为您正在尝试将 x86 .xll 文件加载到 x64 位进程中。无法混合 x86 和 x64 位代码。请改用 LoadLibraryEx 函数将 .xll 文件作为数据文件加载。
这是一个小代码示例:
希望这会有所帮助。
I think you are trying to load the x86 .xll file into a x64 bit process. It is not possible to mix x86 and x64 bit code. Instead use the LoadLibraryEx function to load your .xll file as a data file.
Here is a small code sample:
Hope, this helps.