Включение файла readme в скомпилированную программу
У меня есть небольшой код, который делает некоторые пересчеты с использованием предоставленных текстовых данных. Я также написал файл readme с описанием функций и инструкциями. Основная идея состоит в том, чтобы сделать программу автономной, то есть только один файл.exe.
Я немного погуглил, но нашел только то, как работать с внешними файлами или создавать установщики.
Вопрос в том, как включить текстовый файл в скомпилированный файл.exe и как открыть его одним нажатием кнопки.
До сих пор я нашел, как встраивать ресурс и читать его как поток, используя Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)
,
Хотя, когда я пытаюсь прочитать это через StreamReader
это возвращается System.ArgumentNullException
Stream streamS = Assembly.GetExecutingAssembly().GetManifestResourceStream(ProjectName.Properties.Resources.Readme);
StreamReader rdr = new StreamReader(streamS);
string text = rdr.ReadToEnd();
1 ответ
Добавьте его как встроенный ресурс. Затем вы можете получить к нему доступ с Assembly.GetManifestResourceStream
, Если вы хотите показать это в окне вашего приложения, этого достаточно; если вы хотите открыть его во внешней программе, такой как "Блокнот", вам придется извлечь его во временный файл (Path.GetTempFileName
), затем запустите Notepad.exe с помощью Process.Start
,