NET Core/Net6设置静态资源目录的注意事项。
新版本net静态文件需要放到wwwroot目录才能访问,是通过 app.UseStaticFiles()中间件实现。
如果需要增加其他的静态资源目录,可以通过下面方式注册。
//string baseDirectory=AppDomain.CurrentDomain.BaseDirectory; //应用程序目录 string baseDirectory = Directory.GetCurrentDirectory(); //当前工作目录 foreach(var dir in new string[] {"admin", "User" }) { if(Directory.Exists(Path.Combine(baseDirectory, dir))){ //需要判断存在,不存在会报错 app.UseStaticFiles(new StaticFileOptions() { FileProvider = new PhysicalFileProvider(Path.Combine(baseDirectory, dir)), RequestPath = "/" + dir }); } }
这里要注意,一定要用Directory.GetCurrentDirectory()获取工作目录,否则启动会提示找不到文件目录报错,因为AppDomain.CurrentDomain.BaseDirectory是在debug目录路径,这些静态目录不会同步复制到调试目录下的。