Programowo osadzaj zasoby w zespole .NET

Mam skompilowany zestaw .NET z osadzonym określonym plikiem zasobów (o nazwie „Script.xml”). Muszę programowo zmienić go na inny.

Czy można to zrobić bez rekompilacji ze źródła?

Obecnie szukam tekstu, który wiem, że jest w pliku i działa dobrze. Ale muszę to zrobić dla innego projektu, w którym nie znam żadnej zawartości pliku zasobów i muszę znaleźć inną metodę.

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();

questionAnswers(4)

yourAnswerToTheQuestion