Câu trả lời:
Một phương pháp:
System.AppDomain.CurrentDomain.BaseDirectory
Một cách khác để làm điều đó sẽ là:
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
Đây là một:
System.Reflection.Assembly.GetExecutingAssembly().Location
Bạn cũng có thể sử dụng đối số đầu tiên của các đối số dòng lệnh:
String exePath = System.Environment.GetCommandLineArgs()[0]
Tôi đã sử dụng đơn giản string baseDir = Environment.CurrentDirectory;
và công việc của nó cho tôi.
Chúc may mắn
Biên tập:
Tôi đã từng xóa loại lỗi này nhưng tôi thích chỉnh sửa nó vì tôi nghĩ rằng điểm trừ trong câu trả lời này giúp mọi người biết về cách sai. :) Tôi hiểu giải pháp trên không hữu ích và tôi đã thay đổi nó thành string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory;
các cách khác để có được nó là:
1. string baseDir =
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
2. String exePath = System.Environment.GetCommandLineArgs()[0];
3. string appBaseDir = System.IO.Path.GetDirectoryName
(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
Chúc may mắn
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
Thử cái này!