我需要从asp.net核心应用读取一些json文件。它们在名为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文件夹中,以上代码不起作用。 调试时如何读取文件?
答案 0 :(得分:1)
#if DEBUG
string pathToFile = hostingEnvironment.ContentRootPath
+ Path.DirectorySeparatorChar
+ "bin"
+ Path.DirectorySeparatorChar
+ "Data"
+ Path.DirectorySeparatorChar
+ "dataset1.json"
#else
string pathToFile = hostingEnvironment.ContentRootPath
+ Path.DirectorySeparatorChar
+ "Data"
+ Path.DirectorySeparatorChar
+ "dataset1.json"
#endif
使用这种方法在调试模式和生产环境中可以有两个不同的路径。只需更改您的需求的第一条路即可