我正在尝试将 dll 文件“打包”到包含其他资源的文件中。我正在读取 DLL 的字节并将它们写回“包”文件中,但是当我解压缩所有内容时,DLL 已损坏。
我可以看到我正在错误地编写“包”文件(输入为 8kb - 输出为 9kb 并且 dll 不起作用),我似乎无法理解为什么会发生这种情况。
我从输入文件中读取字节,通过二进制写入器将它们放入内存流,然后使用 File.WriteAllBytes 将它们写入“包”文件。
byte[] bytes = File.ReadAllBytes(fileDest[i]);
using (MemoryStream ms = new MemoryStream())
{
BinaryWriter bw = new BinaryWriter(ms);
bw.Write(count); //int32
bw.Write(version); //int32
for (int i = 0; i < count; i++)
{
bw.Write(lengthofbytes);
bw.Write(someinfo); // string
bw.Write(filecontents); // bytes
}
byte[] bytes = ms.ToArray();
File.WriteAllBytes("some.dll", bytes);
}
我要做的是将一堆文件合并到一个文件中,然后将它们“解包”到需要的位置。不幸的是,其中一个文件必须是 .DLL