我有一个使用 ASP.NET MVC Preview 3(从 Preview 2 解决方案升级)的工作解决方案,它使用无类型的 ViewMasterPage,如下所示:
public partial class Home : ViewMasterPage
在 Home.Master 上有这样的显示语句:
<%= ((GenericViewData)ViewData["Generic"]).Skin %>
但是,团队中的一位开发人员刚刚将程序集引用更改为 Preview 4。
在此之后,代码将不再像上面那样使用索引值填充 ViewData。
相反, ViewData["Generic"] 为空。
根据这个问题, ViewData.Eval("Generic") 有效,并且 ViewData.Model 也正确填充。
然而,这个解决方案不使用打字页面等的原因是因为它是一种遗留解决方案。因此,通过这个相当大的解决方案并更新所有 .aspx 页面是不切实际的(特别是因为编译器没有检测到这种东西)。
我尝试通过删除引用然后在项目的“bin”文件夹中添加对 Preview 3 程序集的引用来还原程序集。这并没有改变什么。我什至尝试将项目文件恢复到早期版本,但这似乎仍然无法解决问题。
我有其他使用相同技术的解决方案可以继续工作。
关于为什么突然停止工作以及我如何修复它(任何正确方向的提示将不胜感激),您有什么建议吗?