Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Core在调试时读取内容文件_C#_.net_Asp.net Core - Fatal编程技术网

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

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

我需要从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文件夹中,上面的代码不起作用。 调试时如何读取文件

#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

在调试模式下和使用此方法的生产环境中,可以有两种不同的路径。只需将第一条路径更改为您的需求

这就是我的想法,但我希望使用条件编译变量避免这种解决方案