【发布时间】:2021-03-01 15:11:36
【问题描述】:
我有一个目录,其中包含一个独立的“exe”和一个配置文件。 exe 必须读取此配置文件。但问题是exe无法获取此配置文件的正确路径。
我先说一下我是怎么做到的。
- 在VS2019中创建NET5.0项目
- 添加代码
using System;
using System.IO;
using System.Reflection;
namespace TestFile {
class Program {
static void Main(string[] args) {
string assemblyLocation = Assembly.GetEntryAssembly().Location;
Console.WriteLine($"assemblyLocation=\"{assemblyLocation}\"");
string configFile = Path.Combine((new FileInfo(assemblyLocation)).DirectoryName, "test.conf");
Console.WriteLine($"configFile=\"{configFile}\"");
File.ReadAllText(configFile);
}
}
}
- 将此项目发布到“SelfContained”和“PublishSingleFile”exe 中
- 在exe所在目录添加文件“test.conf”
- 运行这个 exe
我怎样才能得到这个配置文件的正确路径?
【问题讨论】:
-
尝试用 Build Action = Content 和 Copy to Output Directory = Always 标记
test.conf -
其他选项是将路径传递给
test.conf作为命令行参数并在Main()中提取它 -
这两个选项都不是。还有其他方法吗?
-
能否请您描述一下这两个选项不适用的地方?
标签: c# .net-core exe .net-core-publishsinglefile