2011-11-15 3 views
1

Я создаю приложение, которое может быть выполнено в любой версии Windows, даже в мобильных устройствах, и я пытаюсь получить текущий каталог исполняемого файла. Проблема заключается в том, что если я использую следующий код, он не компилируется в Windows Mobile:Как получить текущий каталог на C# для любой версии Windows?

string currentDirectory = System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); 

И если я использую этот код, я получаю что-то вроде: файл: \ C: \ ххх

string currentDirectory = System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); 

Хотя, мне нужно, чтобы получить корневой диск, и этот код не компилируется в Windows Mobile:

String rootPath = Path.GetPathRoot(Environment.SystemDirectory); 

Кто-нибудь знает, как получить текущий каталог приложения и корневой путь для любой версии Windows, даже для мобильных устройств?

+0

У Windows Mobile нет концепции текущего каталога. Ваше приложение может получить местоположение EXE из argv [0] в вашей функции winMain(). – BitBank

ответ

2

Что-то в этом роде?

var folder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) 
Смежные вопросы