全部好,
安装ASP.NET MVC 3并打开我当前的MVC 2项目后似乎都很好。但是当打开使用System.Web.MVC.SelectList的视图时,我收到以下错误:
错误205“System.Web.Mvc.SelectList”类型的值无法转换为“System.Web.Mvc.SelectList”。类型不匹配可能是由于将文件引用与项目“DSMStoreFront”中的“c:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies \ System.Web.Mvc.dll”混合在一起在项目'2_Views_Basket_Overview.aspx'中引用'c:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies \ System.Web.Mvc.dll'。如果两个程序集都相同,请尝试替换这些引用,以便两个引用都来自同一位置。
调试整个项目时没有其他事情发生,所以我认为这是MVC视图编辑器中的一个小问题。但也许有人知道修复它的解决方案吗?
所有引用都针对MVC 2,两个web.configs(root& views-folder)归功于以下引用:
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
非常感谢提前!
答案 0 :(得分:1)
如果您已安装MVC3,您是否希望将其用于此项目,或者您是否想要坚持使用MVC2?您是否偶然使用IIS6与任何脚本映射?另外我记得MVC3仅适用于.NET 4.0,是使用.NET 4.0或3.5的应用吗?我没有遇到你特别遇到的问题,所以我只是抛出一些想法。也许尝试快速搜索项目内容或项目文件本身以查找指向3的任何引用,如果您试图坚持使用MVC2,则不应该这样做。
如果您想要升级到3.0,则必须将以下内容添加到您的web.config中。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
或者,我想知道你是否可以修改该程序集映射以重定向3.0的请求以映射回2.0?