C# 通过C获取应用程序正在运行的根目录的普遍方法#
我的应用程序要求我有权访问文件系统。无论代码是在web服务器上还是在控制台应用程序上运行,我如何获取应用程序运行的根目录。类似于C:\TheApplication 谢谢 最简单的可能是:C# 通过C获取应用程序正在运行的根目录的普遍方法#,c#,winforms,.net-3.5,C#,Winforms,.net 3.5,我的应用程序要求我有权访问文件系统。无论代码是在web服务器上还是在控制台应用程序上运行,我如何获取应用程序运行的根目录。类似于C:\TheApplication 谢谢 最简单的可能是: System.Reflection.Assembly.GetExecutingAssembly().Location 希望这有帮助 -Oisin您可以尝试以下方法: String path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Loca
System.Reflection.Assembly.GetExecutingAssembly().Location
希望这有帮助
-Oisin您可以尝试以下方法:
String path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
您可以在此处阅读有关这两个类的更多信息:
- 阶级
- 阶级
string myPath = Application.ExecutablePath;
对于winforms应用程序,这是始终设置的。我刚刚测试了一种非常基本的方法,可以在asp.net和windows服务中使用
var binariesPath = string.IsNullOrEmpty(AppDomain.CurrentDomain.RelativeSearchPath)
? AppDomain.CurrentDomain.BaseDirectory // Windows Service
: AppDomain.CurrentDomain.RelativeSearchPath; // Asp.net
啊……我今天戴着我的白痴帽子;)完全忘了!出于好奇,我想知道当执行的程序集在全局程序集缓存中时会返回什么?@jdk,只是一个猜测,但这不会返回调用的EXE,而不是放置反射调用的程序集吗?我不是C#程序员,也没有查过文档,但仅从名称来看,我希望它返回可执行文件的路径,而不是当前的工作目录。我怀疑OP想要工作目录。