0

我有一些来自 System.AddIn 的插件。但是在运行 AddInStore.Rebuild 时,

string[] warnings = AddInStore.Rebuild(addInRoot);

然后我得到一个警告字符串:

该文件不是有效的二进制文件:D:\AK\AS\ConverterModule\output\AddIns\CompositeFileZip\7z.dll 文件名:D:\AK\AS\ConverterModule\output\AddIns\Composi...

7z.dll 不是插件程序集,而是 CompositeFileZip 插件使用的 7z 文件。我不太清楚重建功能到底在做什么。它是否试图将 7z.dll 添加为插件?

4

1 回答 1

5

我不熟悉 System.AddIn 或 7z 组件,但一个非常常见的原因BadImageFormatException是尝试在 32 位上加载标记为 64 位(或依赖于本机 64 位 .dll)的程序集系统,反之亦然。

检查您的7z.dll及其依赖项是否与您看到BadImageFormatException. 您可以在 Visual Studio 命令提示符下通过转储标头7z.dll并查找机器架构来执行此操作:

    C:\Program Files\7-Zip>dumpbin /headers 7z.dll | findstr /i 机器
            8664机(x64)
于 2011-03-17T13:46:22.603 回答