У меня есть встроенный ресурс с именем «Test.exe». Я хочу сделать следующее:
- Считайте содержимое Test.exe в массив байтов.
- Запишите содержимое Test.exe (теперь в массиве байтов) в новое место (C:\Test.exe).
Я использую следующий код (найденный на этом сайте), но проблема в том, что "s" всегда возвращает нулевое значение. Я использую приведенный ниже код следующим образом: byte[] b = ReadResource("Test.exe");
public static byte[] ReadResource(string resourceName)
{
using (Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
{
byte[] buffer = new byte[1024];
using (MemoryStream ms = new MemoryStream())
{
while (true)
{
int read = s.Read(buffer, 0, buffer.Length);
if (read <= 0)
return ms.ToArray();
ms.Write(buffer, 0, read);
}
}
}
}
Надеюсь, кто-то сможет найти то, что я не вижу.