Доступ к файлу в сборке - PullRequest
       9

Доступ к файлу в сборке

0 голосов
/ 17 февраля 2012

Я работаю в Visual Studio C # и хотел бы получить доступ к одному из файлов в сборке консольного приложения.Я не хочу использовать Application.ExecutePath, поскольку для этого потребуется импортировать библиотеку Windows Forms, которая мне не нужна.Файл Tablelist.txt находится в моем файле проекта, и все, что я хотел бы сделать, это прочитать его содержимое напрямую.

StreamReader sr = new StreamReader(
    Assembly.GetExecutingAssembly().GetManifestResourceStream(
        Assembly.GetExecutingAssembly().GetName().Name + ".TableList.txt"));

Как получить доступ к потоку ресурсов?

1 Ответ

2 голосов
/ 11 января 2013

Для непосредственного чтения содержимого файла:

  1. Добавьте новый файл ресурсов в ваше приложение и назовите его «TextResources.resx».
  2. Дважды щелкните по вновь созданному файлу. Нажмите «Добавить ресурс», «Добавить существующий файл», перейдите к файлу «TableList.txt» и нажмите кнопку «Открыть». Файл будет добавлен как ресурс.

Теперь используйте следующий фрагмент, чтобы прочитать содержимое файла:

using System;
using System.Reflection;
using System.Resources;

// Gets a reference to the current assembly.
string assemblyName = Assembly.GetExecutingAssembly().GetName().Name;            
// Creates the ResourceManager.
ResourceManager resourceManager = new ResourceManager(String.Format("{0}.TextResources", assemblyName), Assembly.GetExecutingAssembly());
// Retrieves resource and displays it.
string textFileContents = resourceManager.GetString("TableList");
Console.Write(textFileContents);
...