这里的想法是从嵌入式资源中提取批处理文件到 C 驱动器上的临时目录,然后运行提取的批处理文件。我遇到的问题是“对象引用未设置为对象实例”的错误。
代码是:
public static void ExtractResource()
{
using (Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream(Namespace.Properties.Resources.Backup))
{
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, buffer.Length);
using (var sw = new BinaryWriter(File.Open(@"C:\test.bat", FileMode.OpenOrCreate)))
{
sw.Write(buffer);
}
}
}
错误发生在这一行:
byte[] buffer = new byte[s.Length];