Entity Framework Verweise fehlen zwischen Debug- und Release-Build

8

Es muss etwas geben, das ich nicht verstehe in dem Unterschied zwischen Debug-Builds und Release-Builds und seiner Verwendung von Referenzen. Ich verwende Entity Framework 6, um eine Verbindung zu einer Datenbank herzustellen, die zuvor eingerichtet wurde. Ich bin in der Lage, das Projekt erfolgreich zu erstellen und auszuführen, während es sich in Debug-Modus befindet. Wenn ich es in den Freigabemodus ändere, erhalte ich sofort Build-Fehler, die anzeigen, dass die Namespaces und Typen, die gerade dort waren, nicht mehr gefunden werden können. Ich habe überprüft und soweit ich sagen kann, dass beide Ziel Framework .Net 4.5, die ich gesehen habe, könnte ein Problem für einige andere Leute gewesen sein. Ich sehe keinen Unterschied in dem, was unter Referenzen in meinem Lösungs-Explorer aufgeführt ist.

Ich benutze Visual Studio 2013. Ich freue mich über jeden Code, aber ich weiß nicht, was am relevantesten wäre.

Einige der Fehler, die ich bekomme:

%Vor%

Danke für jede Anleitung, die zur Verfügung gestellt werden kann.

    
Bryan Pritchett 02.06.2015, 12:58
quelle

4 Antworten

6

Das Wechseln in den Freigabemodus und das erneute Installieren des Entitätsframeworks für das Problemprojekt haben dieses Problem in meinem Fall behoben.

    
OomPiet 20.08.2015, 06:19
quelle
9

Um dies zu beheben, habe ich die Antwort von @ OomPiet verwendet. Für mich waren die Schritte wie folgt:

  1. Wechseln Sie in den Debug-Modus
  2. Lösung neu erstellen - Build erfolgreich
  3. Wechseln Sie in den Freigabemodus
  4. Lösung neu erstellen - Build fehlgeschlagen
  5. Klicken Sie in Solution Explorer auf das Projekt, das nicht erstellt wird (meins war ein Unit-Test-Projekt)
  6. Rechtsklick-Projekt & gt; %Code%
  7. Stellen Sie sicher, dass Manage NuGet Packages ausgewählt ist
  8. Wählen Sie Installed packages
  9. Klicken Sie auf EntityFramework und schließen Sie den Dialog
  10. Klicken Sie auf Lösung in Uninstall
  11. Rechtsklick & gt; %Code%
  12. Stellen Sie sicher, dass Solution Explorer ausgewählt ist
  13. Wählen Sie Manage NuGet Packages for Solution
  14. Klicken Sie auf Installed packages
  15. Stellen Sie sicher, dass das Projekt, das den Fehler verursacht, EntityFramework ist.
  16. Klicken Sie auf Manage und schließen Sie den Dialog nach der Installation von
  17. Klicken Sie auf Lösung in checked
  18. Klicken Sie mit der rechten Maustaste auf "Lösung neu erstellen"

Jetzt kann ich zwischen OK und Solution Explorer wechseln, ohne dass die Kompilierung fehlschlägt. Ich hoffe, das hilft

BEARBEITEN: Wenn Sie nur ein Projekt mit EF verwenden, lesen Sie den folgenden Kommentar von @LuckyLikey , in dem er angibt, dass stattdessen nach EF suchen und in diesem Projekt installieren soll .

    
Dib 17.11.2015 07:41
quelle
6

Ok @Dim und @ Oompiets Antworten sind korrekt, aber es gibt eine wirklich einfache Möglichkeit, dies über die Package Manager Console zu tun:

%Vor%

Das macht es auf der Lösungsebene oder wenn Sie es auf Projektebene tun wollen, tun Sie einfach:

%Vor%     
Rob 24.02.2016 05:38
quelle
0

Im Debug-Modus gibt es zusätzliche Informationen mit den Assemblys (der pdb-Datei).

Dadurch kann die Anwendung die zusätzlichen Abhängigkeiten abrufen.

Im Freigabemodus gibt es solche Dinge nicht, daher müssen die Assemblies referenziert werden.

Wenn Sie die Schritte 10 bis 18 von @Dib ausführen, wird das Problem gelöst.

    
Yan Brunet 18.10.2017 13:46
quelle