Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发布到Azure时,区域中的ASP.NET核心文件夹未加载资产_Asp.net_Asp.net Mvc_Azure_Visual Studio_Asp.net Core - Fatal编程技术网

发布到Azure时,区域中的ASP.NET核心文件夹未加载资产

发布到Azure时,区域中的ASP.NET核心文件夹未加载资产,asp.net,asp.net-mvc,azure,visual-studio,asp.net-core,Asp.net,Asp.net Mvc,Azure,Visual Studio,Asp.net Core,在我的ASP.NETCore3.1项目(VisualStudio2019)中,我创建了一个Areas文件夹,并添加了一个名为“Admin”的区域。在Admin中,我添加了一个名为“assets”的静态文件夹。这包含管理区域的所有CSS、JS和图像文件: 在startup.cs文件中,我添加了以下代码,以便可以链接到资产文件夹中的静态文件: 我从这里获取了代码: 视图中的链接示例如下所示: 当我在本地运行项目并浏览到/admin时,所有资产(CSS、JS、图像等)都在加载,站点显示正确 但是

在我的ASP.NETCore3.1项目(VisualStudio2019)中,我创建了一个Areas文件夹,并添加了一个名为“Admin”的区域。在Admin中,我添加了一个名为“assets”的静态文件夹。这包含管理区域的所有CSS、JS和图像文件:

在startup.cs文件中,我添加了以下代码,以便可以链接到资产文件夹中的静态文件:

我从这里获取了代码:

视图中的链接示例如下所示:

当我在本地运行项目并浏览到/admin时,所有资产(CSS、JS、图像等)都在加载,站点显示正确

但是,当我将我的项目发布到azurewebsites.net时,当我浏览到/admin时,不会加载资产!视图已呈现,但CSS、JS和图像链接不起作用

我已经检查了服务器和服务器上的资产文件夹和文件

任何关于如何在Azure上工作的帮助或建议都将不胜感激

编辑: 当我在页面上打开web开发工具(F12)时,链接显示为404错误:

“/assets/css/icons.min.css”不存在,但为什么不像我在本地运行时那样指向/Areas/Admin/assets/css

编辑: 在Azure上检查,似乎只有.json文件(以及其中包含.json文件的文件夹)正在发布!我直接链接到其中一个.json文件,它被正确浏览,所以我需要弄清楚为什么VS没有发布所有文件。

Path.Combine(env.ContentRootPath,“Areas/Admin/assets”)),RequestPath=“/assets”

  • 这一行代码意味着,当您请求“/assets”时,它将映射到“Areas/Admin/assets”
  • 根据您提供的图片,请求的路径没有问题
  • 但是,根据404错误提示,通常会检查请求的文件是否存在
  • 您前面提到的文件已存在。
    • 我还建议您检查icons.min.css文件是否确实存在于区域/Admin/assets/css目录中
  • 如果确保这些文件确实存在,我怀疑问题可能是由文件夹权限引起的。
    • 您可以查看解决方案
  • ☑编辑 在Azure上检查,似乎只有.json文件(以及其中包含.json文件的文件夹)正在发布!我直接链接到其中一个.json文件,它被正确浏览,所以我需要弄清楚为什么VS没有发布所有文件

  • 默认情况下发布ASP.NET核心Web应用程序时,将包括以下资产:
  • 构建工件
  • 与以下全局模式匹配的文件夹和文件:
    • ***.config(例如,web.config)
    • ***.json(例如,appsettings.json)
    • wwwroot**
  • 发布时需要包含所需的文件。
    • 您可以查看解决方案

  • 您能检查浏览器(F12)中的特定错误消息并告诉我们吗?例如,它是404错误吗?具体的错误信息是什么?嗨,孙一辉。谢谢你的帮助。我已经在问题的末尾添加了截图,谢谢你的步骤。我仔细检查了步骤4,从我看到的情况来看,资产文件夹中只有.json文件被发布了!见上图。其他资产(.js、.css、img等)不是构建的一部分。我修改了前面的答案,您可以检查它。