部署到生产时找不到索引视图?

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

在 websphere 中部署的应用程序在请求时找不到

在 Elastic Beanstalk 上部署时找不到模块 Django

尝试部署服务器时找不到 database.properties