2016-11-10 103 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

相关问题