为另一个项目的wwwroot创建IFileProvider

时间:2019-07-31 07:04:10

标签: c# io asp.net-core-webapi

我有一个带有两个项目的ASP.NET-Core解决方案:MainLib。每个文件都包含一个*.json文件:

- Main.csjproj
 - wwwroot          <-- IHostingEnvironment.WebRootFileProvider
     \main.json
- Lib.csproj
 - wwwroot          <-- new PhysicalFileProvider(of_what_path?)
     \lib.json

为了获得main.json,我注册了IHostingEnvironment.WebRootFileProvider并注入IFileProvider

我知道我必须创建另一个PhysicalFileProvider才能获得lib.jon并将它们都注册为CompositeFileProvider,但是我不知道如何正确,可靠地解决第二个项目的路径。

执行Path.GetDirectoryName(typeof(LibType).Assembly.Location)可以给我Debug\net47文件夹的位置,因此我需要使用\..\..\进行导航。这将是一个非常不可靠的解决方案。

是否还有其他类似ASP.NET-Core的方式来获取第二条路径?

我需要.IsDevelopment()的第二个文件提供者。发布的wwwroot当然会包含所有文件,因此不会有任何解决方法

我认为我需要的是另一个项目的第二个IHostingEnvironment ...

0 个答案:

没有答案