IIS 部署不能包含核心 2.2 剃须刀片页面 asp.net wwwroot 文件夹的文件



我在核心剃须刀页面应用程序的wwwroot文件夹中有JS和CSS的子文件夹 asp.net。应用程序在本地环境中运行良好,但在 IIS 上部署项目时,wwwroot 文件夹中不包含任何子文件夹或文件。

即使我手动将文件夹和文件上传到 wwwroot 文件夹,它也无法正常工作,也不会在浏览器中加载 JS 和 CSS 文件。

请注意,我的应用程序中没有"环境"标签。

尝试编辑 asp.net 核心项目的 .csproj 文件:

删除所有项目组标记及其内容,然后添加此标记

<ItemGroup>
<None Include="wwwroot*" />
</ItemGroup>

您可以参考此链接以获取更多详细信息:

用于 ASP.NET 核心应用部署的 Visual Studio 发布配置文件

有两种方法可以设置 js/css 路径

  1. 绝对路径
  2. 相对路径

绝对路径是,您必须在Web服务器中给出正确的路径。

http://<website name>/css/site.css

相对路径是,您可以给出相对于当前页面的文件页面。

假设您的页面来自http://<website name>/index.html相对路径将./css/site.css

最好尝试从浏览器访问js或css文件。 可能是这些文件夹没有正确的访问权限。

如果打开"开发工具",则可以在"网络"选项卡或"控制台"中看到错误。根据HTTP代码,您可以决定发生了什么

在我的场景中,我将MVC添加到我的.Net 5 API

解决方案是添加

app.UseStaticFiles();

到启动.cs

最新更新