wake-up-neo.com

Seltsam: C # -Typ oder Namespace-Name wurde nicht gefunden

Ich habe einen seltsamen Fehler in meinem Projekt, wenn es in der VS2012 IDE geöffnet ist. Überall, wo ich ein anderes referenziertes Projekt verwende, heißt es plötzlich "Type or Namespace name could not be found". Und mit "sagt", ich meine, es hat den Text rot unterstrichen mit dem Fehler, wenn ich darüber schwebe. Der Intellisense funktioniert für diesen Code nicht. ABER (und hier ist der seltsame Teil), die Fehler werden nicht in der Fehlerkonsole angezeigt und das Projekt wird erstellt und läuft einwandfrei.

Ich kann sogar den Code debuggen und durchgehen und er funktioniert einwandfrei. Zur Laufzeit wird das Projekt also gut referenziert, aber zur Entwurfszeit kann die IDE es nicht finden. Dies funktionierte in den letzten 2 Wochen und erst dann gingen plötzlich ein paar Bonker. Es ist wirklich ärgerlich, weil ich kein Codierer bin, wenn ich ohne Intellisense programmiere!

Hat jemand jemals so etwas gesehen oder hat er Vorschläge?

28
hofnarwillie

Ich habe festgestellt, dass dies ein bekanntes Problem mit VS2012 ist. Prüfen Sie, wie Sie bauen, 64 Bit oder 32 Bit. Es funktioniert nicht mit 64 Bit, aber mit 32 Bit. Es wird angezeigt, dass Dinge fehlen und das Design nicht funktioniert. Das Programm wird jedoch einwandfrei laufen. Ich habe gehört, dass das neue VS-Update, das noch nicht veröffentlicht wurde, es beheben wird.

11
Lainezor

Ich hatte das Ich habe auf Assemblys verwiesen, deren "Target Framework" im Abschnitt "Application" der Projekteigenschaften auf ".Net Framework 4" gesetzt war. Ich habe dies auf ".Net Framework 4.5" geändert, nicht nur in dem referenzierten Assembly-Projekt, sondern auch in dem Projekt, das ich baute und es funktionierte. Probieren Sie es aus.

13
txavier

Löschen Sie manuell alle Verweise auf die Bibliotheken der anderen Projekte und fügen Sie sie erneut hinzu. Intellisense baut alles neu auf, was es zu diesem Zeitpunkt benötigt, und dies hat mir in der Vergangenheit geholfen.

5
Yevgen Fesenko

Im Zusammenhang mit ein paar anderen Antworten hatte ich ein "Data" -Projekt mit einem "Data" -Namensraum. In Ordnung gebaut, aber erst kürzlich mit Fehlern bei Intellisense gestartet (obwohl es weiterhin gut gebaut wurde.) (VS 2015.)

Ich habe das Problem behoben, indem ich mein "Daten" -Projekt und meinen Namensraum in "MyCompany.Data" geändert habe. 

Seltsamerweise schien das Problem bis vor kurzem nicht aufgetaucht zu sein, aber durch die Änderung wurde es behoben. Vermutlich gab es im Namespace einen Konflikt mit einem anderen Projekt oder einer Referenz, der zwar gut erstellt werden kann, aber Intellisense nicht verarbeiten kann.

Sie können dies im Registerkarte Anwendung der Projekteigenschaften ändern. Sie können auch ein EDMX-Diagramm öffnen, mit der rechten Maustaste klicken, den Modellbrowser auswählen, das zweite reduzierbare Element auf der Registerkarte des Modellbrowsers auswählen, auf Eigenschaften klicken und dort die Namespace-Optionfinden _ für generierte Entity Framework-Entitäten und -Kontexte. (Wenn Sie den Namespace eines Entity Framework-Modells ändern, müssen Sie möglicherweise auch die zugehörige Verbindung ändern, damit sie mit [in Web.Config für ASP.Net und MVC übereinstimmt.])

3
Greg

Eine andere Ursache für dieses Problem ist eine Lösung mit mehreren Projekten, die Code für denselben Namespace enthalten. Der Compiler kann damit umgehen. Intellisense wird nicht.

1
Dirk Brockhaus

Überprüfen Sie Ihre .proj-Dateien in einem Texteditor und stellen Sie sicher, dass die Pfade zu Ihren Verweisen korrekt sind.

1
classicskids

stellen Sie sicher, dass Sie keine .net Framework 4.5-Projekte in .net 4-Projekten referenzieren!

1
Maor Hayoun

Stellen Sie sicher, dass es keine class mit dem gleichen Namen wie Project default namespace gibt.

1
PaRiMaL RaJ

Ich hatte das gleiche Problem, wo es gut gebaut und laufen würde, es würde nur immer diesen Fehler zeigen und ich konnte Intellisense nicht mit der Klasse verwenden.

Ich habe die automatische Methode zum Erstellen der Klasse in einer neuen Datei verwendet, um das Problem zu beheben. Dann wurde der Code einfach von der realen Klasse übernommen. Ich habe die alte Datei gelöscht, die neue Datei umbenannt und jetzt funktioniert sie.

0
EatATaco

Dies kann auch passieren, wenn Sie die Build Action in der referenzierten Datei auf "None" setzen und dies vergessen.

0
drifter