从位于c:/dir的程序a.exe中,我需要打开文本文件c:/dir/text.txt.我不知道a.exe在哪里,但是文本.txt将始终位于同一路径中.如何从程序内部获取当前正在执行的程序集的名称,以便访问文本文件?

EDIT: 如果.exe是一项Windows服务怎么办?它没有应用程序,因为它不是Windows应用程序.

提前谢谢.

推荐答案

我通常使用以下命令访问包含应用程序.exe的目录:

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

.net相关问答推荐

为什么DotNet新的webapi;命令会为我生成不同的文件夹

PowerShell 5.1和7在使用证书时的区别

EFCore.DbSet.Update 方法添加新行而不是更新它

从 Contentful 中的富文本元素中获取价值?

System.IO.Directory.Exists 在 LINQ 语句中失败,但在 foreach 循环中没有

是否有任何 x 次的 for 循环的更短/更简单的版本?

如何让 DateTimePicker 显示一个空字符串?

调用委托与方法的性能

多个等待与 Task.WaitAll - 等效?

.NET 反射的成本是多少?

双倍的? = 双倍? + 双倍?

解密 .NET clr20r3 异常参数 P1..P10

仅使用 XAML 绘制纯色三角形

为什么会出现编译错误使用未分配的局部变量?

无法加载文件或程序集System.ValueTuple

合并两个(或更多)PDF

在 C# 中使用 Bitmap 对象查找图像格式

如何隐藏 WPF ListView 的标题?

我可以将构造函数参数传递给 Unity 的 Resolve() 方法吗?

在 WPF 中设置 Tab 键顺序