2014-09-16 6 views
2

У меня есть проект C# в этой папке c:/devel/myapplication, и в этом решении C# у меня есть проект, который является консольным приложением - c:/devel/myapplication/consoleapplication. В этой папке у меня есть некоторые файлы XML, которые я хочу читать программно. Как найти папку для консольного приложения?Как найти папку проекта программно в C#

var currentPath = Path.Combine(Path.GetDirectoryName(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName), myXmlPath); 

Это возвращает корневую папку моего проекта/решения - мне нужна папка проектов консоли.

Directory.GetCurrentDirectory() 

возвращает бен/отладки, который также является неправильным

Любые идеи?

+2

Мой единственный вопрос: почему? Не можете ли вы просто создать сборку для их копирования? Этот сценарий не будет работать, когда вы запустите его вне папки отладки. –

+0

http://stackoverflow.com/questions/21726088/how-to-get-current-working-directory-path-c –

+0

Возможно, вы захотите добавить XML-файлы в свой проект и установить их как «контент», копировать, если новый ". Это автоматически скопирует их туда, где создается exe программы. –

ответ

3
var parent = Directory.GetParent(Application.StartupPath); 
0
var currentPath = Path.Combine(Path.GetDirectoryName((Directory.GetCurrentDirectory())), myXmlPath); 
+0

Пожалуйста, не публикуйте код только в своем ответе. Также укажите объяснение того, что вы написали и как это важно для ответа на вопрос. – arco444

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