ASP.NET MVC 2 System.Web.Mvc.dll冲突

时间:2010-01-18 09:28:03

标签: asp.net asp.net-mvc dll conflict

我已经安装了ASP.NET MVC 2 RC并打开了默认的“示例项目”,但是出现以下错误:

  

分析器错误消息:类型   'System.Web.Mvc.ViewMasterPage'是   暧昧:它可能来自集会   'C:\ WINDOWS \ assembly \ GAC_MSIL \ System.Web.Mvc \ 2.0.0.0__31bf3856ad364e35 \ System.Web.Mvc.dll'或来自程序集'C:\ Documents and   设置\ sfent \ My Documents \ Visual   工作室   2008 \项目\ MvcApplication1 \ MvcApplication1 \ BIN \ System.Web.Mvc.dll程序”。   请明确指定程序集   在类型名称中。

这似乎是GAC dll与创建并放置在bin目录中的dll之间的冲突(我认为它应该优先于GAC版本使用)

我已经搜索过此问题并发现了类似的问题,但与错误的命名空间有关。这是与MVC框架捆绑在一起的未经修改的示例应用程序。

我还尝试完全删除框架并重新安装RC,但无济于事。

所有建议都表示赞赏。

3 个答案:

答案 0 :(得分:5)

我收到了这个错误,在我的情况下很容易解决。

我在我的Views文件夹中创建了一个新的Master Page,但是我没有注意到,它带有代码和设计器,当然你不需要MVC2。这一切都构建了,但给了我“解析器错误消息:类型'System.Web.Mvc.ViewMasterPage'是不明确的:...”我运行它时出错。

要修复它,我删除了新主页面的代码隐藏和设计器文件,错误就消失了。

答案 1 :(得分:1)

问题可能是项目中的Reference仍然指向旧版本的dll(v1.0)。删除引用并将新引用添加到版本(v2.0)。

您还可以在MVC2 RC的发行说明中找到该提示:

“使用Visual Studio打开项目,在解决方案资源管理器中,展开”引用“节点。删除对System.Web.Mvc(指向1.0版程序集)的引用。添加对System.Web.Mvc的引用( V2.0.0.0)。“

干杯, Damrod

答案 2 :(得分:0)

您的项目是否同时引用框架的v1和v2?另外,为什么不删除已在本地复制的匹配dll?