代码之家  ›  专栏  ›  技术社区  ›  Christopher

从ASP.NET 4.0 RC升级到RTM后,ASP.NET MVC 2视图中出现错误

  •  3
  • Christopher  · 技术社区  · 14 年前

    在我的视图中,我试图循环访问作为视图模型一部分的Linq对象中的列表。这在今天早些时候的VS2010 RC和.NET 4.0 RC中运行良好。

    <% if (Model.User.RoleList.Count > 0 ) { %>
        <% foreach (var role in Model.User.RoleList) { %>
           <%: role.Name %><br />
        <% } %>
    <% } else { %>
           <em>None</em><br />
    <% } %>
    

    它曾经很高兴地列出一个角色名列表。没有数据或代码更改。只需将软件从RC升级到RTM即可。

    我得到的错误是:

    \ views\users\details.aspx(67):错误cs0012:类型“system.data.linq.entityset”1是在未引用的程序集中定义的。必须添加对程序集“system.data.linq,version=4.0.0.0,culture=neutral,publickeytoken=b7a5c561934e089”的引用。

    但引用了System.Data.Linq。我在参考资料列表中看到了。我尝试删除它并重新添加它,但得到了相同的错误。

    有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  10
  •   Christopher    14 年前

    固定的。我不得不加上

    <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, publicKeyToken=b77a5c561934e089" />
    

    到web.config中的system.web/编译/程序集。

    为什么它以前起作用?世界可能永远不会知道。