ASP.NET Core 在调试时读取内容文件

我有一些 json 文件需要从我的 asp.net 核心应用程序中读取。它们位于名为 data 的文件夹下

--MyProject
---Startup.cs
---Data
------dataset1.json
------dataset2.json

我正在使用 IHostingEnvironment ContentRootPath 来读取文件:

 string pathToFile = hostingEnvironment.ContentRootPath
                            + Path.DirectorySeparatorChar
                            + "Data"
                            + Path.DirectorySeparatorChar
                            + "dataset1.json"

返回C:\SourceControl\Test.Backend\src\Test.Web\Data\dataset1.json

当我在 IIS 中发布我的代码时,这工作正常。但是,当我调试时,文件被复制到 bin 文件夹中,上面的代码不起作用。如何在调试时读取文件?


跃然一笑
浏览 77回答 1
1回答

潇湘沐

#if DEBUG string pathToFile = hostingEnvironment.ContentRootPath                        + Path.DirectorySeparatorChar                        + "bin"                        + Path.DirectorySeparatorChar                        + "Data"                        + Path.DirectorySeparatorChar                        + "dataset1.json"#elsestring pathToFile = hostingEnvironment.ContentRootPath                        + Path.DirectorySeparatorChar                        + "Data"                        + Path.DirectorySeparatorChar                        + "dataset1.json"#endif当您处于调试模式和使用这种方法进行生产时,您可以有两条不同的路径。只需根据您的需要更改第一条路径
打开App,查看更多内容
随时随地看视频慕课网APP