2012-04-27 2 views
0

Я делаю консольную программу в VS2010. Структура, изложенная в проводнике решений, представляет собой файл проекта, папку «Свойства», «Ссылки» и «Program.cs».Использование текстовых файлов в Visual Studio Project

Я хочу использовать текстовый файл для чтения/записи. Каков правильный способ добавления этого файла в проект? Если я просто сделаю StreamWriter sw = new StreamWriter("maze.txt"), тогда он создаст файл в папках вывода (bin/debug или bin/release). Но он не появится в проводнике решений.

Теперь, если я щелкнул правой кнопкой мыши по исследователю решения и добавлю новый элемент, я могу создать текстовый файл в корневой папке проекта (тот же уровень, что и Program.cs). Это будет отображаться в проводнике решений.

Есть ли способ получить доступ к этому недавно созданному файлу? Помимо того, что вы делаете что-то вроде StreamWriter sw = new StreamWriter("../../maze.txt"), указав путь к двум родителям?

Как я могу управлять внешними файлами в консоли приложения Visual Studio? В приложении WinForms есть папка с ресурсами, в которой я могу добавить эти вещи и файл Resources.resx, чтобы управлять им. Я могу получить к нему доступ с Properties.Resources.someres.

ответ

4

Если вы хотите создать файл во время разработки и включить его в свою папку с bin, добавьте текстовый файл, перейдите к свойствам и выберите «копировать всегда» или «копировать, если новый» для свойства копирования.

Обратите внимание, что это скопирует файл из проекта в папку bin, но изменения в папке bin при отладке не будут скопированы в сам проект. Я сомневаюсь, что вы хотите, чтобы программа взаимодействовала с версией файла в самом проекте. Если вы сделаете что-то подобное, то в любое время, когда вы запускаете программу вне VS (т. Е. Когда вы копируете ее на компьютер реального пользователя), это не сработает.

+0

Ну, я знаю, что могу скопировать файл в папку bin, но мне просто интересно, должен ли я получить доступ к текстовому файлу, например, StreamWriter («../../ maze.txt») или если бы был более оптимизированный способ, например, StreamWriter (Properties.Resources.maze) ', где файл действительно является частью проекта. – Jonas

+0

Нет, вы не должны получать доступ к файлу, который на самом деле является частью проекта во время работы программы. Сама программа должна только модифицировать копию файла, находящегося в папке bin/debug. – Servy

1

Что касается ваших ресурсов вопроса, вы все равно можете использовать ресурсы. Просто щелкните правой кнопкой мыши и «Добавить» -> «Новый элемент» (например, сочетание клавиш Ctrl + Shift + A) и выберите «Файл ресурсов». Вы также можете set the text file to be an Embedded Resource. MSDN имеет много информации об использовании ресурсов на своих Managing Application Resources page.

+0

Хм, я вижу, я попробую. – Jonas

1

Вы все еще можете вставлять ресурсы в консольное приложение. Я использовал эту технику в быстрых приложениях, поэтому нам не нужно устанавливать установщик или устанавливать такие зависимости, как эти типы файлов. В этом question обсуждается аналогичная тема.

Смежные вопросы