Как установить универсальный путь для файлов, которые будут прочитаны в файле App.Config - PullRequest
0 голосов
/ 25 июля 2011

У меня есть несколько текстовых файлов для чтения, которые находятся в проекте Visual Studio. Мой файл app.config должен автоматически адаптировать путь к этим файлам. то есть, предположим, что у меня есть файл в папке C: \ Visual Studio \ Test Project \ Read.txt, тот же проект, когда я помещаю его в диск D: \, я не должен менять путь на D: \ Test Project \ Read txt Должен автоматически адаптировать изменение местоположения.

1 Ответ

0 голосов
/ 25 июля 2011

Ваш файл app.config не может адаптироваться автоматически. Как правило, это задача установки или развертывания сценариев, чтобы убедиться, что вся конфигурация настроена правильно.

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

var reader = new StreamReader(Configuration.AppSettings["fileToRead"]);

Сделайте это (укажите файл относительно текущей исполняемой сборки):

var path = Path.GetDirectoryName(Assembly.GetAssembly(typeof(MyClass)).CodeBase);
path = Path.Combine(path, Configuration.AppSettings["fileToRead"])

var reader = new StreamReader(path);
...