我正在尝试将dll文件“打包”到包含其他资源的文件中。我正在读取DLL的字节并将它们写回“package”文件中,但是当我解压缩所有内容时,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