我试图从塞西尔的基于字符串的流加载程序集,但是我不断得到System.BadImageFormatException
而我似乎无法弄清楚我做错了什么
我正在尝试:
var data = File.ReadAllText("/path/to/dll");
using(Stream s = StreamFromString(data)) {
var module = ModuleDefinition.ReadModule(s);
}
StreamFromString
定义为:
return new MemoryStream(Encoding.UTF8.GetBytes(s ?? ""));
我也尝试过:
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
在Windows Server 2012上使用最新的Cecil,.NET 4.5。有什么想法吗?谢谢:))
修改:ModuleDefinition.ReadModule("/path/to/dll")
工作正常,因此它不是一个损坏的dll问题。