C# ASP.NET Core在调试时读取内容文件
我需要从asp.net核心应用程序中读取一些json文件。它们位于名为data的文件夹下C# ASP.NET Core在调试时读取内容文件,c#,.net,asp.net-core,C#,.net,Asp.net Core,我需要从asp.net核心应用程序中读取一些json文件。它们位于名为data的文件夹下 --MyProject ---Startup.cs ---Data ------dataset1.json ------dataset2.json 我正在使用IHostingEnvironment ContentRootPath读取文件: string pathToFile = hostingEnvironment.ContentRootPath
--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文件夹中,上面的代码不起作用。
调试时如何读取文件
#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
在调试模式下和使用此方法的生产环境中,可以有两种不同的路径。只需将第一条路径更改为您的需求这就是我的想法,但我希望使用条件编译变量避免这种解决方案