Ich habe eine Lösung in VS2008 (C#), die mehrere Projekte enthält. Ich habe gerade einige der .csproj-Dateien für unseren Build-Prozess umgerüstet und plötzlich beim Codieren von Projekt B werden keine Referenzen von Projekt A im Klassencode erkannt ... denke an die roten, verschnörkelten Linien unter einem von mir erstellten Variablentyp. Das Erstellen der Lösung generiert jedoch keine Fehler. Warum verhält es sich so?Visual Studio: Referenzen im Code nicht erkannt?
Antwort
Ich würde vorschlagen, dass Sie Ihre Visual Studio Temp-Dateien löschen - es kann oft verwirrt über Projektstrukturen und erfordern einen Neustart.
Beenden Sie zuerst VS vollständig und starten Sie es neu. Wenn das Problem weiterhin besteht, suchen Sie Ihren VS-Cache-Ordner und löschen Sie ihn, und führen Sie dann eine Neuerstellung durch.
Hilfe bei der Suche nach Ihrem Cache-Ordner, check this post.
Sicherstellen, dass beiden Projekte im Configuration Manager gebaut werden
(rechts auf der Lösung klicken und dann auf „Configuration Manager“)
Sie könnten auch über die Redline schweben oder einfach nur wieder aufzubauen, um zu sehen wenn Sie mehr Details bekommen. C# und VB sind beide ziemlich gut darin, dir zu sagen, warum sie nicht glücklich sind.
Wenn VS merkwürdig wonky reagiert, und ich keine logische Lösung finden kann, ich Visual Studio beenden, und manuell eine 'clean' durch Löschen aller bin/obj Ordner.
Ich habe eine Batch-Datei, die dies für mich schneller als ich es manuell tun könnte. Ich lege das in mein Lösungsverzeichnis und alle meine Projekte befinden sich in Unterverzeichnissen.
rem "%%~dpa" says: Give me the (d)drive and (p)path of the (a, %%a) file.
rem However, our dir /a:d will result in only listing folders...
rem The final "%%a" is just appending the 'file' (diretory name) to the
rem drive-and-path string
for /f %%a in ('dir /b /a:d *.*') do call :process "%%~dpa%%a"
pause
goto :eof
:process
echo Looking in %1
cd "%1"
if EXIST "%1\bin" (
echo Found 'bin' - it's gone now.
rd /s /q "%1\bin"
)
if EXIST "%1\obj" (
echo Found 'obj' - it's gone now.
rd /s /q "%1\obj"
)
cd ..
Sicher kann man sicher sein, dass die Dateien ordnungsgemäß neu erstellt werden, wenn Sie VS schließen, töten Sie die vshosts und dann löschen Sie die Dateien von Hand. – Robino
- 1. .net über 3,5 im Visual Studio nicht erkannt
- 2. Visual Studio/NuGet fehlende Referenzen
- 3. C# Nicht erreichbarer Code erkannt
- 4. "LoaderLock wurde erkannt" mit Visual Studio 2012
- 5. Hinzufügen von Referenzen ohne Visual Studio
- 6. Visual Studio - Steuerelemente nach bestimmten Punkt nicht erkannt
- 7. MySql.Data nicht unter Referenzen in Visual Studio 2008
- 8. Visual Studio Code Farbauswahl
- 9. Visual Studio 6 "alle Referenzen finden"?
- 10. Visual Studio 2012 - Zirkuläre Referenzen effizient finden
- 11. Visual Studio Kompilierter Code
- 12. Visual Studio Code Installationsort
- 13. VS-Code-Ausgabefenster deaktivieren (nicht Visual Studio)
- 14. Registerkarte "Visual Studio-Code" funktioniert nicht
- 15. wie Visual Studio-Code
- 16. Visual Studio-Code files.exclude-Einstellung funktioniert nicht
- 17. Visual Studio-Code, Debug funktioniert nicht
- 18. Visual Studio Code includePath
- 19. Visual Studio Überschreiben Code
- 20. Visual Studio Code Formatierung
- 21. "Nicht erreichbarer Code erkannt"
- 22. Code-Formatierung in Visual Studio CODE funktioniert nicht C# Code
- 23. Visual Studio-Code - Merkwürdiger Typoskript Compiler (tsc) nicht existiert
- 24. Visual Studio Code Änderung Einrückung
- 25. Visual Studio Code-Erweiterung: child_process.fork funktioniert nicht
- 26. Visual Studio-Code files.autoSave onFocusChange funktioniert nicht
- 27. Visual Studio-Code "files.exclude" funktioniert nicht
- 28. Visual Studio Code Überprüfung Differenzfenster
- 29. ViewModel wird von MVC 6 in Visual Studio nicht erkannt Code
- 30. Wie nitit TestResults.xml im Visual Studio generieren?
Neustart + clean + rebuild hat es getan. Seltsames Verhalten, ich wünschte, ich wüsste, warum es das überhaupt getan hat, also kann ich versuchen, es zu vermeiden, wie es mir jetzt schon ein paar Mal passiert ist. Vielen Dank! – Chris
nette Idee. Sie erhalten +1 – rlbond
Clean + Neustart hat den Trick gemacht. – AgentFire