Как читать встроенный ресурсный текстовый файл
Как прочитать встроенный ресурс (текстовый файл) с помощью StreamReader и вернуть его как строку? В моем текущем script используется форма и текстовое поле Windows, которое позволяет пользователю находить и заменять текст в текстовом файле, который не встроен.
15 ответов
Добавьте следующие данные
Установить свойство соответствующего файла:
Параметр Build Action со значением Embedded Resource
Используйте следующий код
resourceName — это имя одного из ресурсов, встроенных в assembly . Например, если вы вставляете текстовый файл с именем «MyFile.txt» , который помещается в корень проекта с пространством имен по умолчанию «MyCompany.MyProduct» , то resourceName есть «MyCompany.MyProduct.MyFile.txt» . Вы можете получить список всех ресурсов в сборке, используя метод Assembly.GetManifestResourceNames .
Вы можете добавить файл в качестве ресурса, используя два отдельных метода.
Код С#, необходимый для доступа к файлу, отличается, в зависимости от метода, используемого для добавления файла в первую очередь.
Способ 1. Добавьте существующий файл, установите свойство Embedded Resource
Добавьте файл в свой проект, затем установите тип Embedded Resource .
ПРИМЕЧАНИЕ. Если вы добавите файл с помощью этого метода, вы можете использовать GetManifestResourceStream для доступа к нему (см. ответ от @dtb).
Как прочитать байты файла из ресурсов (C#)?
Я компилирую софт через CodeDomCompiler, и добавляю файл в ресурсы этого софта. Но я не знаю как прочитать этот ресурсный файл. Я пытался вот так:
byte[] fat = Properties.Resources.NameProg;
Но ничего не получалось. Было написано, что Properties не найдено.
P. S. файл в ресурсах — exeшник
Помогите пожалуйста, пробовал все методы :((
- Вопрос задан более года назад
- 240 просмотров
Средний 7 комментариев
- Вконтакте




Сохранить бинарник из ресурсов на диск:
File.WriteAllBytes(@»C:\NameProg.exe», ProjectName.Properties.Resources.NameProg);
или так:
File.WriteAllBytes(@»C:\NameProg.exe», Resources.NameProg);
если наверху есть:
using ProjectName.Properties;
где:
ProjectName — название Вашего проекта;
Имейте в виду, что:
— в проекте может быть несколько файлов ресурсов. В примере выше данные берутся из «Resources»;
— для записи в некоторые папки нужно запускать программу с правами администратора;
— могут срабатывать антивирусы и удалять свежесозданный exe.