Evg*_*nyt 10 .net asp.net-mvc .net-4.0
我正在尝试将ASP.NET MVC 2项目(VS2010)部署到Win Server 2008 R2
它在dev机器上完美运行.但是在Server 2008 R2上发生了奇怪的错误:当.ascx文件具有使用泛型类型的标头时:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel>" %>
Run Code Online (Sandbox Code Playgroud)
服务器报告无法加载类型'System.Web.Mvc.ViewUserControl <MyProj.Web.Models.RangeViewModel>'.
但是当我在.cs文件类型中声明某处时
public class AA : System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel>
{
}
Run Code Online (Sandbox Code Playgroud)
并在<%@ Control标头中使用它.然后它按预期工作.
我错过了什么吗?
UPDATE
我分两步部署应用程序(在服务器上):
Pan*_*nek 15
我发现视图引擎在Inherit属性中编译强类型基类时遇到问题.我有同样的问题,并更新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">
<controls>
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
<!-- rest of your pages section -->
</pages>
Run Code Online (Sandbox Code Playgroud)
无法找到原因,但以下帮助(web.config):
<pages
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
Run Code Online (Sandbox Code Playgroud)
最初发现类似于asp.net mvc 1
| 归档时间: |
|
| 查看次数: |
10130 次 |
| 最近记录: |