绝对文件路径到相对文件路径

时间:2021-01-28 04:38:57

标签: filepath filereader relative-path

我有一个类库项目 (D:/projectName/SampleClassPrj) 和一个控制台应用程序项目 D:/projectName/ConsolePrj。 在类库项目中,一个json文件test.json和一个类sample.cs(读取和反序列化json)都存在。 d:/projectName/SampleClassPrj/test.json d:/projectName/SampleClassPrj/sample.cs

这适用于绝对路径,例如, d:/projectName/SampleClassPrj/test.json

但不适用于相对路径。

使用相对路径,通过使用文件未找到错误,因为它试图在控制台(正在运行)应用程序程序集文件夹中查找文件。 D:/projectName/ConsolePrj/bin/test.json 请帮忙寻找解决方案

2 个答案:

答案 0 :(得分:0)

  • 首先,检查 json 文件属性“如果更新则复制”。 enter image description here
  • 然后,使用 Appdomain.CurrentDomain.BaseDirectory
string result = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ConnectionString.txt"));

答案 1 :(得分:0)

var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location.Substring(0, Assembly.GetEntryAssembly().Location.IndexOf("bin\"))); StreamReader r = new StreamReader(Path.Combine(path, "sample.json"))

适用于 .NET 核心 3.1 这对我有用