【发布时间】:2020-03-11 13:53:21
【问题描述】:
我在本地化文件夹中的 JSON 文件时遇到问题。我有一个测试类,在同一个目录中,我有一个 JSON 文件。所以我想要实现的是用相对路径检索JSON文件。
我试过的就是这个
var jsonString = File.ReadAllText("\\TemplateUrlOk.json");
更新
这是测试项目的结构。
【问题讨论】:
-
它是控制台应用程序还是 Windows 应用程序或 Web 应用程序?
-
如果是桌面应用或服务,您是否设置了在构建和运行应用程序时将JSON文件复制到构建目录中? Windows 路径中的
\\语法也是 UNC 文件共享格式,例如\\servername\foldername。因此,如果在代码运行时文件应该与可执行文件位于同一文件夹中,那么您可以只提供文件名而无需任何斜杠。 -
用 `.\ ` 进行通常的相对寻址怎么样?表示:
var jsonString = File.ReadAllText(@".\TemplateUrlOk.json"); -
@FalcoAlexander 您需要一个额外的反斜杠来转义第一个反斜杠,或者将其转换为带有 @ 符号的字符串文字。
-
您是否查看过文件是否 已复制到\bin\Debug 下的任何位置?如果有,在哪里? (抱歉,我对 ASP.NET Core 的构建方式不如 .NET Framework 的构建方式熟悉。)
标签: c# json asp.net-core relative-path