我正在尝试将我的VB .EXE与SQLite.Interop.dll合并。我不能在这个DLL上使用ILRepack,我得到了以下错误:
ERROR: Failed to load assembly D:\+ WORK\Test\ILRepack\4\x86\SQLite.Interop.dll
System.BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid.
at Mono.Cecil.PE.ImageReader.ReadOptionalHeaders(UInt16& subsystem, UInt16& dll_characteristics)
at Mono.Cecil.PE.ImageReader.ReadImage()
at Mono.Cecil.PE.ImageReader.ReadImageFrom(Stream stream)
at Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
at Mono.Cecil.AssemblyDefinition.ReadAssembly(String fileName, ReaderParameters parameters)
at ILRepacking.ILRepack.ReadInputAssemblies()
at ILRepacking.ILRepack.Repack()
at ILRepacking.ILRepack.Main(String[] args)我认为这与托管程序集有关。你知道我应该包含哪个包吗?
发布于 2015-05-04 02:40:46
ILRepack和ILMerge都不能在本机程序集( SQLite.Interop.dll是非托管代码)上工作,因为它们都在字节码(IL)级别上操作。
您可以将该库排除在合并之外,或者(我假设您希望将其包括在内)改为使用Costura方式,这样可以很好地处理本机程序集。
https://stackoverflow.com/questions/24856664
复制相似问题