微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决绝对文件路径到相对文件路径

我有一个类库项目 (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 请帮忙寻找解决方

解决方法

  • 首先,检查 json 文件属性“如果更新则复制”。 enter image description here
  • 然后,使用 Appdomain.CurrentDomain.BaseDirectory
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 这对我有用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。