我有一个已编译的.NET程序集,其中嵌入了一个特定的资源文件(名为'Script.xml')。我需要以编程方式将其更换为另一个文件。
是否可以在不重新编译源代码的情况下进行更改?
目前,我通过搜索我知道在文件中存在的文本来实现这一点,并且效果很好。但是,我需要在另一个项目中执行此操作,而我不知道资源文件的任何内容,因此需要找到另一种方法。
是否可以在不重新编译源代码的情况下进行更改?
目前,我通过搜索我知道在文件中存在的文本来实现这一点,并且效果很好。但是,我需要在另一个项目中执行此操作,而我不知道资源文件的任何内容,因此需要找到另一种方法。
FileStream exe = new FileStream(currentexe, FileMode.Open);
//find xml part of exefile
string find = "<?xml version=\"1.0\"?>";
string lastchars = new string(' ', find.Length);
while (exe.CanRead) {
lastchars = lastchars.Substring(1) + (char)exe.ReadByte();
if (lastchars == find) {
exe.Seek(-find.Length, SeekOrigin.Current);
break;
}
}
//output serialized script
int bytenum = 0;
foreach (byte c in xml) {
if (c == 0) break;
exe.WriteByte(c);
bytenum++;
}
//clean out extra data
while (bytenum++ < ScriptFileSize) {
exe.WriteByte(0x20);
}
exe.Close();