在多个项目中共享wwwroot

时间:2020-09-07 08:33:18

标签: c# asp.net-core asp.net-core-mvc

我有两个ASP.NET Core MVC项目。这两个项目的wwwroot文件夹中都有相同的文件。

我的问题:是否可以为wwwroot文件夹指定自定义位置,以便我可以在两个项目中访问相同的wwwroot文件夹?

我已经读过类似的问题,

借助上面列出的问题,我确定了两种方法

  • 使用虚拟目录
  • 包括使用app.UseFileServer的文件

但是,我无法使用相对路径引用文件,例如在_Layout.html中,引用~/lib/bootstrap/dist/css/bootstrap.min.css无效。

2 个答案:

答案 0 :(得分:0)

您可以在Program.cs中指定自定义WebRoot路径:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
      .ConfigureWebHostDefaults(webBuilder =>
      {
         webBuilder.UseWebRoot("C:\path\to\folder");
         webBuilder.UseStartup<Startup>();
      });

答案 1 :(得分:0)

这不是您问题的直接答案,但是当我寻找类似功能时,它对我有帮助,因此请留给以后的使用者。 如果您使用的是ASP.NET Core 3.1,则可以使用RazorClassLibrary,它允许您在不同项目之间共享静态文件。下面的文章有一个很好的解释 https://www.mikesdotnetting.com/article/330/including-static-resources-in-razor-class-libraries-in-asp-net-core