首页 > 解决方案 > .NET 路由不包括应用程序目录的完整路径?

问题描述

我对 ASP.NET 应用程序很陌生,这个应用程序由 IIS 提供服务(我相信版本 10)。导航到我的站点时https://{host}/Dashboard,会加载此组件;但是,它无法加载任何子组件并抛出 404,例如,它尝试从 获取视图/Defects/YearOverYear{host}/Defects/YearOverYear而不是{host}/Dashboard/Defects/YearOverYear,这是该特定视图实际所在的位置。

我已经看到谈论这与从根目录而不是应用程序目录进行路由有关,而且我还看到有人提到这是 IIS 的配置问题,或者 .csproj 文件中的配置问题(其中Visual Studio 是否不会在任何地方的最终构建中包含项目配置中的属性?),但是在黑暗中拍摄了几张照片后,我不确定从这里去哪里。

这个项目没有路由处理程序,但它确实有一个在生产服务器上工作的路由配置,所以我很确定这是在构建或部署期间其他地方的配置问题。

我可以包含任何额外的信息或配置文件,我只是不确定现在放哪一个。

标签: asp.netiis

解决方案


项目路由器似乎有问题。项目发布的根目录是什么?您的项目类型基于什么框架?大多数情况下,如果您的项目基于 Angular/Vuejs,资产中的根目录有一些设置,因此相对地址有效。例如
Vue.js 路由从子目录服务
此外,尝试将您的子目录转换为应用程序。这将使子文件夹成为实际应用程序。 如果有什么我可以帮忙的,请随时告诉我。
在此处输入图像描述


推荐阅读