所以我想在我的资源中编写一个exe文件,这是我正在使用的方法:我将文件添加为资源,然后我将此代码添加到 Resources.Designer.cs
internal static byte[] exefile
{
get
{
object obj = ResourceManager.GetObject("exe-file-name", resourceCulture);
return ((byte[])(obj));
}
}
public static byte[] GetSubExe()
{
return exefile;
}
然后我将其写入我的主要表单源代码 From1.cs ,如果我想要的话:
string tempExeName = Path.Combine(Directory.GetCurrentDirectory(), "Creating.exe");
using (FileStream fsDst = new FileStream(tempExeName, FileMode.Create, FileAccess.Write))
{
byte[] bytes = Resources.GetSubExe();
fsDst.Write(bytes, 0, bytes.Length);
}
string path = Path.GetDirectoryName(kryptonTextBox4.Text);
createpatch(kryptonTextBox3.Text,kryptonTextBox4.Text,patchname,path);
Application.DoEvents();
File.Delete("Creating.exe");
当我运行代码时,我总是在这一行得到 NullReferenceException :
fsDst.Write(bytes, 0, bytes.Length);