繁体   English   中英

IIS 部署不能在 asp.net core 2.2 razor 页面中包含 wwwroot 文件夹的文件

[英]IIS deployment cannot contains files for wwwroot folder in asp.net core 2.2 razor pages

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

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

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

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

删除所有 ItemGroup 标签及其内容,然后添加这个

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

您可以参考此链接了解更多详情:

Visual Studio 发布用于 ASP.NET Core 应用程序部署的配置文件

设置js/css路径有两种方式

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

绝对路径是,你必须在 web server 中给出正确的路径。

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

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

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

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

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

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

解决方案是添加

 app.UseStaticFiles();

到 Startup.cs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM