问题描述
我有一个类库项目 (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 请帮忙寻找解决方案
解决方法
string result = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"ConnectionString.txt"));
,
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 这对我有用