Хочу добавить в проект несколько csv файлов и пользоваться ими, как текстовыми ресурсами. Ну и чтобы лежали вместе в папке для порядка. Создать папку проблем нет.
контекстное меню проекта ➙ Добавить ➙ Создать папку
Файлы тоже создаются
контекстное меню папки ➙ Добавить ➙ Создать элемент ➙ элементы Visual C# ➙ Текстовый файл
Но как пользоваться их содержимым?
http://stackoverflow.com/questions/3314140/how-to-read-embedded-resource-text-file
После добавления ресурса необходимо задать в дизайнере свойство Действия при сборке значением Внедренный ресурс (именование в русифицированной Visual Studio, в англоязычной будут Build Action и Embedded Resource).
Для извлечения текстового файла понадобится использовать метод GetManifestResourceStream() класса Assembly, экземпляр которого соответствующий исполняемый сборке можно получить статическим методом Assembly.GetExecutingAssembly(). Не забудьте также что для использования Assembly нужно вписать using System.Reflection в заголовок модуля или обращаться к нему System.Reflection.Assembly.
GetManifestResourceStream() вернет Stream. Зная, что мы имеем дело с текстом, либо считываем System.IO.StreamReader весь файл в экземпляр string.
using System.Reflection;
using System.IO;
...
public static string GetTextResource(string namespace, string folder, string filename)
{
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(
string.Format("{0}.{1}.{2}, namespace, folder, filename)))
{
using (StreamReader sr = new StreamReader(stream))
{
return sr.ReadToEnd();
}
}
}
Либо организуем другую логику считывания файла.
Используйте механизм ресурсов.
Зайдите в свойства проекта, вкладка "Ресурсы", добавьте новый файл ресурсов (если его ещё нет), добавьте новый или существующий текстовый файл.
После этого можно обращаться к этому файлу как к Properties.Resources.<Имя файла>.
Т.е. если Вы добавили файл main.csv, то можно будет обратиться к его содержимому как к Properties.Resources.main. Это будет read-only строка с содержимым файла.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости