2016-11-10 34 views
2

是否可以配置一個不同的文件夾來替換ASP.NET Core中的wwwroot?如果是的話,那麼這種變化又會有什麼副作用?如何在ASP.NET Core中將備選文件夾配置爲wwwroot?

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

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

回答

3

是否可以設置不同的文件夾中的ASP.NET核心,以取代的wwwroot?

是的。在Program類添加UseWebRoot電話:

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. 的鮑爾包管理器將不能正常工作,因爲它會在wwwroot一個lib文件夾。我不確定這是否可配置。
  2. 您將需要修復bundleconfig.json以查看新目錄。
  3. 您需要更新project.json中的include部分,以將新目錄包含在發佈輸出中。
+1

關於#1,Bower的路徑可以在'.bowerrc'文件中配置,該文件應該位於項目的根文件夾中。這就是默認設置:'{「directory」:「wwwroot/lib」}' – Jason

相關問題