Если вы хотите разрешить пользователям / администраторам изменять строку, я согласен с другими ответами и рекомендую установить ее в настройках.
Если вы не хотите, чтобы оно было редактируемым после развертывания, и оно будет изменено только вами и вашими разработчиками, то я бы поместил его во встроенный ресурс (обратите внимание, это не то же самое, что файл .resx) , Вы могли бы прочитать это во время выполнения, как это:
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(“MyAssemblyNamespace.MyTextFile.txt”);
StreamReader reader = new StreamReader(stream);
string theText = streamReader.ReadToEnd();
Обновление: Это простое в обслуживании решение. Файл .txt будет просто еще одним файлом в обозревателе решений в Visual Studio, и вы можете редактировать его, как любой другой файл, держать его под контролем исходного кода, как любой другой файл и т. Д. Чтобы превратить его во встроенный ресурс, изменив Build Действие в окне свойств для «Встроенного ресурса».
Конечным результатом является то, что ваши файлы встроены в вашу DLL, так что у вас есть только 1 DLL для распространения вместо DLL и папка файлов, которые должны перемещаться вместе.
Обновление 2: Что касается «производственной отладки», это очень статичное решение, и поэтому вы не сможете изменить содержимое текстового файла во время выполнения, поскольку файл запекается в DLL во время компиляции. Для чтения содержимого файла вы можете использовать такие инструменты, как отражатель , чтобы просмотреть встроенные ресурсы DLL. Вы также можете написать простой инструмент командной строки, который будет выгружать все внедренные TXT-файлы из DLL в отдельные файлы для просмотра.
Для использования памяти нет более эффективного решения, чем «Я загружаю его из файла в память только тогда, когда это необходимо». Вы должны решить, стоит ли улучшенная ремонтопригодность и развертывание, если ваша DLL загружена в память для вашей конкретной ситуации. Тем не менее, вы не сказали, насколько велики эти файлы. Если они действительно огромные (мегабайт +), я бы, вероятно, не использовал бы это решение и пошел бы с незакрепленными файлами на жестком диске. Если они, как правило, довольно малы (сотни килобайт), я не стал бы беспокоиться о дополнительной памяти, если только вы не находитесь в какой-то ситуации со встроенным устройством, где ОЗУ очень мало.