CS1061:'object'不包含mvc 3.0.0.1的定义

时间:2014-10-23 18:36:04

标签: asp.net-mvc model publish

我的所有模型对象现在都被破坏了。我不得不进行MVC 3.0.0.1更新,现在我无法加载任何页面。

该网站在本地运作良好。但我无法弄清楚服务器上的交易是什么。我已经检查过了,bin文件夹有相同的.dll。

有人有任何建议吗?

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<HIVE.Controllers.HomeViewModel>" %>
<asp:Content ID="Content5" ContentPlaceHolderID="MainContent" runat="server">
    <div id="content">

       <div class="marquee">
            <div class="pointer">
                <%
                    foreach (var i in Model.CurrentImportantEvents)

然后在控制器......

namespace HIVE.Controllers
{
    public class HomeViewModel
    {
        public IQueryable<v_ImportantEvent> CurrentImportantEvents { get; private set; }

        public HomeViewModel()
        {
            this.CurrentImportantEvents = new COMRepository().GetVImportantEvents(DateTime.Now);
        }
    }

编辑:我不知道如果这很重要,但我注意到服务器副本需要bin文件夹中的System.Web.Mvc.dll,但本地副本不需要。我可以删除它,它似乎并不关心。如果删除服务器版本,则无法找到MVC 3.0.0.1错误。

2 个答案:

答案 0 :(得分:1)

嗯,这是愚蠢的,但我会把它放在这里,希望它能让其他人受益。

我必须手动更改所有Web.Config文件中引用的所有System.Web.Mvc版本号。

答案 1 :(得分:0)

问题似乎是您的服务器上没有安装MVC3安全更新,但您的开发机器已安装。 mvc安全更新将mvc.dll 3.0.0.1放在GAC中,并将发布者策略放到绑定将mvc 3.0.0.0重定向到3.0.0.1的计算机上。这就是为什么你不需要改变你的开发盒上的任何东西,它工作正常。