Der Typ " System.Daten.Linq -.DataContext' is defined in an assembly that is not referenced

Das Problem

Fehler, wenn man zu einer bestimmten Seite (in lokalen debug): CS0012: Der Typ 'System.Daten.Linq -.DataContext' is defined in an assembly that is not referenced. Müssen Sie fügen Sie einen Verweis auf die assembly " System.Daten.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Hier sind die referenzierten Zeilen code in der Fehlermeldung:

Zeile 28:

Zeile 29:

Linie 30: public class _Page_Views_blah_granny_cshtml : System.Web.Mvc.WebViewPage {

Linie 31:

Linie 32: #line hidden

Alle anderen Seiten funktionieren hervorragend - dies nur geschieht, wenn der Zugriff auf eine Seite im besonderen. Die Referenz ist die Arbeit auf alle anderen Seiten. Soweit ich in der Lage bin, um zu bestimmen, dies ist nicht ein problem mit der Referenz.

Habe ich damit verbracht, ein guter block der Zeit, die zu diesem Thema forscht.

Alle Antworten fand ich vorgeschlagen werde-web.config und setzen einen Assemblyverweis auf linq im system.web - > Konfiguration - > Baugruppen. Mine nicht aufgeführten Assemblys und ich vermute, das ist mehr für ältere Versionen. Ich Tat es trotzdem. Es gab mir eine andere Fehlermeldung besagt, dass es keine Ahnung hat was zu tun mit Baugruppen.

Ich gelöscht-system.Daten.linq und fügte hinzu, es wieder.

Ich neu gestartet, beide VS und meinem computer.

Mein code - generierte default-VS - System hat.Linq -.

Hintergrund - Das ist, wie diese gestartet:

Die Anwendung MVC 4, C#.

Erstellte ich eine neue Klasse in meinem DataContext, Hinzugefügt Sie einen neuen controller und erstellt eine stark typisierte Sicht.

Hier einige sehr ähnlichen code (wahrscheinlich nicht erforderlich, aber nur für den Fall).

Zwei Klassen:

public class granny { 
            public string data { get; set; }
            public string criteria { get; set; }
}

public List<granny> getGranny() {
    var a = from x in grannytable
            join dx in anothertable
            on x.criteria equals dx.criteria
            select new granny {
                data = x.somenewdata;
            }; 
    return a.ToList();
}

Hier ist der controller:

    public ActionResult granny() {
        return View(db.getGranny());
    }

Nichts besonderes gibt.

Die Seite ist eine typische razor-Ansicht, stark typisierte "Liste"...es ist eine Tabelle, in der es wiederholt zu erstellen und Abladen der Daten, wie es geht.

Ich bin gerne bereit, alle zusätzlichen code, wie erforderlich.

Habe ich nicht Durcheinander mit web.config. Ich habe nicht entfernt oder verändert jeder, der die Verweise auf die Seiten. Alle anderen Ansichten funktionieren wunderbar.

Wenn ich Sie lokal auszuführen, und den Versuch, zu gehen /Oma bekomme ich die obige Fehlermeldung.

Vielen Dank für Ihre Hilfe!

DIE LÖSUNG: ich ging in die Referenzen, und für das System.Linq (oder für ältere Versionen, ich nehme an, das System.Daten.Linq) und geändert CopyLocal auf True.

  • Vergessen Baugruppen in der config-Datei, bezieht sich Ihr Projekt nicht nur einen "normalen" Satz von Referenzen? (Im Projektmappen-explorer, gibt es eine References-Element?)
  • Es ist sicher. Es Verweise System.Daten.Linq -. Ich den Verweis entfernt und Hinzugefügt, denken Sie etwas bekam, hing dort. Ich bin mit dem Lieferumfang .NET-System.Daten.Linq -. Es Punkte zu C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.Linq.dll wie es sein sollte. Es ist erwähnenswert, dass meine anderen Seiten werden mithilfe von linq einfach nur gut. Ich glaube nicht, dass es eine linq-Referenz-Problem, denn es ist nicht einem geselligen problem - es ist nur diese eine Seite.
  • können Sie eine vollständige Lösung oder ein Projekt, das veranschaulicht das problem?
  • Die ganze Lösung? Oder gibt es bestimmte Dateien oder Eigenschaften, die Sie interessiert sind?
  • Eine komplette Lösung. Muss nicht DEINE Lösung pro sagen. Nur einer, der das problem veranschaulicht.
  • überprüfen Sie, dass Ihr Namensraum ist der richtige Wert für diese Klasse. Und was ist grannytable? Ich Frage mich, ob das Probleme ist, dass die Klasse des Namespaces ist nicht konsistent mit der in Ihrem Kontext
  • Für alle Armen Seelen, dass auch diese Begegnung, Bearbeiten der Eigenschaften für das System.Linq - > CopyLocal auf True fest für mich.

Schreibe einen Kommentar