【发布时间】:2010-05-10 14:30:09
【问题描述】:
我正在尝试将 ASP.NET MVC 2 项目 (VS2010) 部署到 Win Server 2008 R2
它在开发机器上完美运行。但是在 Server 2008 R2 出现了奇怪的错误: 当 .ascx 文件具有使用泛型类型的标头时:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel>" %>
服务器报告无法加载类型“System.Web.Mvc.ViewUserControl
但是当我在 .cs 文件类型中的某处声明时
public class AA : System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel>
{
}
并在 标头中使用它。然后它就可以正常工作了。
我错过了什么吗?
更新
我分两步部署应用程序(在服务器上):
- 使用命令行 MSBuild(适用于 .NET 4)从源代码重建 VS 解决方案
- 启动执行两个目标的自定义 msbuild 任务(为此具有 publih.msbuild 文件):Targets="ResolveReferences;_CopyWebApplication"
【问题讨论】:
-
你试过
Inherits="System.Web.Mvc.ViewUserControl1[[MyProj.Web.Models.RangeViewModel]]"`? -
您为什么不直接在 Visual Studio(或 Express,如果您正在使用它)中构建?您也可以尝试一下,如果它在 VS 构建中工作,则将其精确定位到 msbuild 配置。
标签: .net asp.net-mvc .net-4.0