在以前的 asp.net 版本中,HostingEnvironment
MapPath
获取和存储文件路径的方法,但在 ASP.net 5中我无法使用它。
var filepath = HostingEnvironment.MapPath(@"~/Data/product.json");
你使用的是RC1吗?在 RC1 中,这取决于您是在编写控制台还是 Web 应用程序。在控制台应用中,不能再使用 DI,只能使用 PlatformServices.Default
。
例如,PlatformServices.Default.Application
允许您访问应用程序的基本路径。静态属性的类型为 IRuntimeEnvironment
。拥有应用程序的基本路径,您可以轻松构建所需文件的路径...
如果您正在构建 Web 应用程序,您应该能够将IRuntimeEnvironment
注入您的初创公司并从那里使用它。
您必须添加对所有这些内容的Microsoft.Extensions.PlatformAbstractions
包的引用。
另请参阅我的帖子 此处了解更多详情
尽管IHostingEnvironment
提供了MapPath()
方法,您可能还需要UnmapPath()
。另一种有用的方法可能是 IsPathMapped()
.
您可以在此处找到所有这些:在 MVC 6 中读取文件。
由于PlatformServices
的可用性,所有这些都可以在Consolse,MVC和ClassLib应用程序中工作。
呵