在以前版本的asp.net中,HostingEnvironment
有MapPath
方法来获取和存储文件的路径,但在ASP.net 5中我无法使用它。
var filepath = HostingEnvironment.MapPath(@"~/Data/product.json");
答案 0 :(得分:0)
你在使用RC1吗?
在RC1中,它取决于您是在编写控制台还是Web应用程序。在控制台应用中,您不能再使用DI,只能使用PlatformServices.Default
。
PlatformServices.Default.Application
可让您访问应用程序的基本路径。静态属性的类型是IRuntimeEnvironment
。拥有应用程序的基本路径,您可以轻松构建所需文件的路径......
如果您正在构建一个Web应用程序,那么您应该可以将IRuntimeEnvironment
注入您的启动并从那里使用它。
您必须将Microsoft.Extensions.PlatformAbstractions
包的引用添加到所有内容中。
有关详情,请参阅my post here
答案 1 :(得分:0)
尽管IHostingEnvironment
提供了MapPath()
方法,但您也可能需要UnmapPath()
。另一种有用的方法可能是IsPathMapped()
。
您可以在此处找到所有这些内容:Reading a file in MVC 6。
由于PlatformServices
可用性,所有这些都可以在 Consolse , MVC 和 ClassLib 应用中使用。
HTH