Почему поток ресурсов всегда нулевой? - PullRequest
0 голосов
/ 01 июля 2011

Надеюсь, что-то простое, но пытался и пытался и продолжать терпеть неудачу Я пытаюсь создать объект Stream в приложении C #, который будет копировать файл CSS в определенное место. Файл CSS встроен в мои ресурсы. Славность того, что я пробовал, объект потока всегда равен нулю.

Может ли кто-нибудь указать правильное направление, взглянув на приведенное ниже?

Спасибо :) burrows111

Assembly Assemb = Assembly.GetExecutingAssembly();
Stream stream = Assemb.GetManifestResourceStream(ThisNameSpace.Properties.Resources.ClockingsMapStyle); // NULL!!!!
FileStream fs = new FileStream("to store in this location", FileMode.Create);
StreamReader Reader = new StreamReader(stream);
StreamWriter Writer = new StreamWriter(fs);
Writer.Write(Reader.ReadToEnd());

1 Ответ

2 голосов
/ 01 июля 2011

Это работает для меня:

StreamReader reader;
StreamWriter writer;
Stream stream;
Assembly assembly = Assembly.GetExecutingAssembly();

using (stream = assembly.GetManifestResourceStream("Namespace.Stylesheet1.css"))
using (reader = new StreamReader(stream))
using (writer = new StreamWriter("test.css"))
{
    string content = reader.ReadToEnd();
    writer.Write(content);
    writer.Close();
}     

Я пробовал это в стандартном приложении Windows Forms.

РЕДАКТИРОВАТЬ: файл (Stylesheet1.css) был включен как обычный элемент в проект с действием сборки "Embedded Resource".

...