【问题标题】: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 文件夹的虚拟文件夹。

但是,我仍然收到上面详述的错误。

【问题讨论】:

  • 糟糕。不知道这个问题有多老

标签: c# asp.net asp.net-mvc view windows-xp


【解决方案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 文件中的路由无关

【讨论】:

    猜你喜欢
    • 2013-08-30
    • 2020-04-08
    • 1970-01-01
    • 2017-07-11
    • 2023-03-27
    • 1970-01-01
    • 2018-06-21
    • 2012-08-03
    • 1970-01-01
    相关资源
    最近更新 更多