部署到生产时找不到索引视图?
Posted
技术标签:
【中文标题】部署到生产时找不到索引视图?【英文标题】:Can not find index view when deploying to production? 【发布时间】:2010-11-25 14:53:54 【问题描述】:我在尝试将 MVC 应用程序部署为现有 ASP.NET 3.5 应用程序(非 MVC)的子应用程序时遇到问题。错误是:
找不到视图“索引”或其主视图。搜索了以下位置: ~/Views/employment/index.aspx ~/Views/employment/index.ascx ~/Views/Shared/index.aspx ~/Views/Shared/index.ascx该应用程序在 Visual Studio Web Developer Express SP1 中运行时运行良好,并且在配置为***网站时也运行良好。
我在 XP (IIS 6ish) 下开发,所以我已经配置了通配符映射等。MVC 应用程序被配置为根网站正下方的虚拟文件夹(http://localhost/ROHAS
其中 ROHAS 是指向的虚拟文件夹到我的 MVC 解决方案)。我还尝试在 global.asax.cs 中添加路由以补偿子应用程序的虚拟路径:
routes.MapRoute("NetPortal", // Route name<br>
"localhost/rohas/controller/action/id");
还有
routes.MapRoute("NetPortal", // Route name<br>
"rohas/controller/action/id");
我什至尝试在我的 MVC 解决方案中添加另一个仅指向 Views 文件夹的虚拟文件夹。
但是,我仍然收到上面详述的错误。
【问题讨论】:
糟糕。不知道这个问题有多老 【参考方案1】:您必须在使用 MVC 项目的网站中创建一个名为“Views”的虚拟目录,该目录指向 MVC 项目中的 Views 目录。确保只在 IIS 管理器中创建一个只有“读取”访问权限的 VD,并确保您没有有 VD 的应用程序。
(VD -> 属性 -> 确保应用程序部分显示为灰色)
【讨论】:
感谢您的回答,但我已经尝试过了。我确实在我的原始帖子中提到了这一点,但我不只是授予它读取权限 - 我会再试一次并让你知道。再次感谢。 嗯..似乎我错了(像往常一样)。我按照你的建议做了,尽管我认为我已经做过一次并且效果很好,非常非常感谢。 我想就是这样 - 我必须在之前将它(Views VD)创建为应用程序......再次感谢 m8y。 当我在 ;) 上时,似乎在我为widcard 处理配置 IIS 后,它已停止提供 .asp 页面(我没有提到现有站点具有经典的 asp也)...任何想法..? 实际上,这仅在 Visual Studio Web Express 内部运行时才有效...除此之外,它的错误相同..【参考方案2】:您的视图文件似乎丢失了。您的就业控制器正试图返回一个名为 index.aspx/index.ascx 的视图/部分视图,但找不到该视图。您应该将视图放在 mvc.net 应用程序目录的 ~/Views/employment 文件夹中。或者可以放在~/Views/Shared/文件夹中
该错误与您在 global.ascx 文件中的路由无关
【讨论】:
以上是关于部署到生产时找不到索引视图?的主要内容,如果未能解决你的问题,请参考以下文章
部署到 AWS lambda 时找不到模块 ./dist/server
将 node.js 应用程序部署到谷歌云平台时找不到模块“yargs”错误
将流星部署到 android-device 时找不到 Build Tools 修订版 24.0.1