【问题标题】:ASP.NET MVC 3 Project published only works with all project files已发布的 ASP.NET MVC 3 项目仅适用于所有项目文件
【发布时间】:2011-06-05 05:15:34
【问题描述】:

我一直在将我的 MVC3 项目发布到 IIS,包括“所有项目文件”,这一直工作正常,但是当我将其更改为“仅运行此应用程序所需的文件”时,项目发布正常,但如果我尝试并在 IIS 中浏览该站点,我收到此错误。

解析器错误描述:一个错误 在解析a期间发生 提供服务所需的资源 要求。请查看以下内容 具体的解析错误细节和 适当地修改你的源文件。

解析器错误消息:无法加载 类型 'System.Web.Mvc.ViewUserControl'。

来源错误:

第 1 行:

我记得我不久前读过一些关于部署 Web 项目的问题,这些项目只包含运行它所需的文件,并且包含了它工作的所有源代码。

我在项目中包含 .mvc、.routing、.abstraction dll 作为本地副本。

还有其他人遇到过这个问题吗?我在网上找不到任何与此相关的内容了。

【问题讨论】:

  • 服务器上是否安装了MVC?

标签: asp.net-mvc iis publish


【解决方案1】:

酷,

我刚刚找到了答案并且它有效,我将这段代码添加到我的 web.config 并且它现在可以正常工作了。

 <pages
      validateRequest="false"
      pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
      pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
      userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

有人可以告诉我为什么我必须这样做。

问候,

p.

【讨论】:

  • ASP.net 的默认页面解析器不理解强类型视图中使用的尖括号泛型语法,因此需要使用 mvc 的解析器,它可以处理泛型类型。
  • 谢谢汤姆,但你知道为什么我部署了所有项目文件就不需要它了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
  • 1970-01-01
  • 2017-01-05
  • 2023-03-07
  • 2012-03-02
  • 1970-01-01
相关资源
最近更新 更多