如何在ASP.NET Core中配置替代文件夹到wwwroot?

时间:2016-11-10 19:19:52

标签: asp.net-core

是否可以配置一个不同的文件夹来替换ASP.NET Core中的wwwroot?如果是的话,这种变化会有什么副作用?

目前在整个项目中包含wwwroot的唯一配置可以在project.json中找到,如下面的代码所示;但是用新文件夹的名称替换该值不足以读取静态文件(例如:index.html)。

"publishOptions": {
"include": [
  "wwwroot",
  "web.config"
]
},

2 个答案:

答案 0 :(得分:5)

  

是否可以配置一个不同的文件夹来替换ASP.NET Core中的wwwroot?

是。在UseWebRoot课程中添加Program来电:

public static void Main(string[] args)
{
    var host = new WebHostBuilder()
        .UseKestrel()
        .UseWebRoot("myroot") // name it whatever you want
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseIISIntegration()
        .UseStartup<Startup>()
        .Build();

    host.Run();
}
  

对这种变化有任何副作用吗?

以下是我能想到的三个:

  1. Bower包管理器无法正常工作,因为它会在lib中查找wwwroot文件夹。我不确定这是否可配置。
  2. 您需要修复bundleconfig.json以查看新目录。
  3. 您需要更新include中的project.json部分,以便在发布输出中包含新目录。

答案 1 :(得分:0)

使用Asp.Net Core 2.2,我做到了: 在Configure的{​​{1}}方法中,我更改了

Setup.cs

app.UseStaticFiles();

Reference / Source