类型不匹配错误仅发生在远程计算机上

时间:2017-06-13 13:12:01

标签: c# asp.net-mvc model-view-controller tfs model

我的代码在dev中运行良好,但是当我发布到测试服务器时,一个屏幕出错:

传递到字典中的模型项的类型是' System.Collections.Generic.List 1[Intranet.ViewModels.EditingRequestsViewModel]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable 1 [Intranet.ViewModels.ITRequestsViewModel]'。

这是控制器代码,按照预期,它使用EditingRequestsViewModel:

public ActionResult Index()
    {
       var myList = db.Database.SqlQuery<EditingRequestsViewModel>("EXEC [DBO].[spGetRequests]").ToList();
       return View(myList);
    }

这是视图的第一行:

@model IEnumerable<Intranet.ViewModels.EditingRequestsViewModel>

为什么这个相同的代码在发布到测试服务器时会期望不同的模型?我已经尝试过#34; Clean Solution,&#34; &#34;重建解决方案,&#34;删除Dll,并使用调试和发布配置重新部署(重复)。没有变化。

我应该注意到,在此之前,我将我的代码检查到了TFS,并且在我获取Project文件的服务器版本时发生了冲突。这引起了一些问题&#34;编辑&#34;控制器没有被看到(它是新的)但我修复了这一切,一切正常。

文件中是否有隐藏的引用,可能会被抬起来?

1 个答案:

答案 0 :(得分:0)

试着尝试改变

 @model IEnumerable<Intranet.ViewModels.EditingRequestsViewModel>

@model List<Intranet.ViewModels.EditingRequestsViewModel>