Asp.net-Core

如何在 ASP.NET Core 中將備用文件夾配置為 wwwroot?

  • February 7, 2022

wwwroot是否可以在 ASP.NET Core中配置不同的文件夾來替換?如果是,如何?這種變化有副作用嗎?

目前包含wwwroot在整個項目中的唯一配置可以project.json在下面的程式碼中找到;但是用新文件夾的名稱替換該值不足以index.html讀取靜態文件(例如:)。

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

是否可以配置不同的文件夾來替換 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 包管理器將無法正常工作,因為它會libwwwroot. 我不確定這是否可配置。
  2. 您將需要修復bundleconfig.json以查看新目錄。
  3. 您將需要更新其中的include部分project.json以將您的新目錄包含在發布輸出中。

引用自:https://stackoverflow.com/questions/40535388