我try 使用以下代码获取控制台应用程序的目录,

Assembly.GetExecutingAssembly().Location

但这一个给了我集合的位置.这可能与我执行应用程序的地方不同.

我的控制台应用程序解析没有参数的日志(log).它必须进入可执行文件文件夹中的logs/文件夹,或者如果我给它一个logs/路径,它就会解析它.

推荐答案

使用Environment.CurrentDirectory.

获取或设置当前工作目录的完全限定路径

string logsDirectory = Path.Combine(Environment.CurrentDirectory, "logs");

如果应用程序在c:\Foo\Bar中运行,logsDirectory将指向c:\Foo\Bar\logs.

.net相关问答推荐

为什么 PropertyInfo.SetValue 在此示例中不起作用以及如何使其起作用?

out 和 ref 可以用作临时变量吗?

无法加载文件或程序集 Microsoft.Extensions.DependencyInjection.Abstractions,版本 = 1.1.0.0

C# - 获取不包括隐藏文件的文件列表

编译时禁用 Dll 文化文件夹

如何遍历字典并更改值?

将属性序列化为元素中的 Xml 属性

静态析构函数

寻找 .NET 的命令行参数解析器

关于 Enumerable.Range 与传统 for 循环的 foreach 的思考

我不了解应用程序域

何时使用抽象类?

如何在 C# 中安全地将 System.Object 转换为bool?

DLL 中有什么以及它是如何工作的?

对构造函数进行单元测试重要吗?

如何将 .NET 应用程序编译为本机代码?

ADO.NET Entity Framework:更新向导不会添加表

MVVM 没有意义吗?

检测到包降级警告(dotnet core,vs 2017)

您可以将 Microsoft Entity Framework 与 Oracle 一起使用吗?