如何解决ASP.NET Core 5.0 Web 应用程序 - 在来自 wwwroot 的静态文件上发布开箱即用的应用程序到 IIS Server 404
创建了一个开箱即用的 ASP.NET Core 5.0 Web 应用程序 - 在本地运行得很好。
将项目发布到文件夹并将内容复制到运行 IIS 的 Windows Server 2019。
已安装 ASP.NET Core 5.0 Runtime (v5.0.5) - Windows Hosting Bundle。
应用程序池:.NET CLR 版本:到无托管代码管理,管道模式:到集成
项目文件包含:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseStaticWebAssets();
});
启动包含:
app.UseStaticFiles();
引用时,wwwroot 文件夹下的所有内容都会抛出 404 错误:
https://servername.test.com/subapplication/css/site.css
默认页面确实被加载,只是因为找不到文件而没有样式。
解决方法
我在尝试设置我的应用时遇到了同样的问题。您只需手动将 wwwroot/
文件夹复制到您的构建文件夹中。因此,如果您运行 dotnet build
,只需将 wwwroot/
文件夹复制到 bin/Debug/net5.0/
。
我确定有某种方法可以自动执行此操作,但我目前不知道,因为我对 ASP.NET Core 比较陌生。
以下是有关此解决方案为何有效的一些相关 Microsoft 文档:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?view=aspnetcore-5.0&tabs=windows#web-root
Web 根路径默认为 {content root}/wwwroot。
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-5.0
静态文件存储在项目的 Web 根目录中。默认目录为 {content root}/wwwroot,但可以使用 UseWebRoot 方法更改。
希望这对你的帮助和对我的帮助一样多!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。