2010-04-15 12 views
16

In meinem Datenbankschema hat jedes Forum eine Kategorie und Kategorien können viele Foren haben. Ich versuche, Kategorien und ihre jeweiligen Foren mit dem folgenden Code zur Liste:ASP.NET MVC 2 + LINQ zu SQL - CS0012 Kompilierungsfehler

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> 
    Index 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

    <h2>Index</h2> 
    <% foreach (GameSite.Models.Category category in (IEnumerable)ViewData["Categories"]) 
     { %> 
     <%= category.Name %> 
     <% foreach (GameSite.Models.Forum forum in (IEnumerable)category.Forums) 
      { %> 
      <%= forum.Name %> 
     <% } %> 
    <% } %> 
</asp:Content> 

Wenn dies ausgeführt wird, ich die folgende Fehlermeldung erhalten:

Compilation Error 
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0012: The type 'System.Data.Linq.EntitySet`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. 

Source Error:  
Line 11:  { %> 
Line 12:  <%= category.Name %> 
Line 13:  <% foreach (GameSite.Models.Forum forum in (IEnumerable)category.Forums) 
Line 14:   { %> 
Line 15:   <%= forum.Name %> 

Ich kann bestätigen, dass System.Data.Linq in verwiesen wird meine Projekt.

Irgendwelche Ideen?

+1

Sind Sie sicher, dass Sie die 4.0 von System.Data.Linq Version verweisen, anstatt der Version 3.5? Hast du die Datei web.config überprüft? –

+0

Ja, ich verweise auf die Version 4.0. Was soll ich in der Datei web.config suchen? Ich sehe System.Data.Linq nirgendwo erwähnt. –

Antwort

43

Das Hinzufügen der Datei web.config hat den Trick gemacht.

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

Welchen Teil der Datei web.config muss ich hinzufügen? – beaudetious

+0

Ich habe es jetzt vergessen, vielleicht kann dir jemand anderes mehr helfen. Der einzige Rat, den ich anbieten kann, ist, nach anderen Linien zu suchen und sie dort hineinzuschieben. –

+7

' \t ' – Austin