Я пытаюсь вставлять некоторые текстовые файлы в resouces моего приложения, но когда я пытаюсь получить его с помощью GetManifestResourceStream()
, я получаю null. Я пробовал все эти комбинации имя:GetManifestResourceStream() return null
- programName.Form1.foo.txt
- programName.foo.txt
- Form1.foo.txt
- programName.Properties.Resources.resources.foo .txt
Некоторая информация:
Пространство имен programName
и класс, где я звоню этот код сюда m = Form1
и имя файла resouce, которое я пытаюсь восстановить, равно foo.txt
.
код:
var resourceName = string.Format("???.{0}", filename);
var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName);
Файл доступен с помощью Properties.Resources.foo
, но, как я получить имя файла из строки, я не могу использовать его.
Если вы не уверены, откройте свою программу с помощью il spy, отражателя или любого другого декомпилятора .net и найдите там подходящее имя ресурса. – Oscar
@Oscar Кажется, текстовые файлы были помещены в 'programName.Properties.Resources.resources' не должны быть на' programName.Form1.resources' вместо? на последнем есть такие вещи, как значок и фон приложения. Я думаю, именно поэтому я получаю нуль – Jack
Это зависит от того, как вы создали файл ресурсов. Попробуйте со значением, полученным при декомпиляции. – Oscar