Visual Studio 2022 (v.17.11.1) loses all references after a new C# script is added in Unity 2022.3.17f

Olga Schubert 0 Zuverlässigkeitspunkte
2024-08-25T06:21:15.37+00:00

How to fix the issue, that Visual Studio 2022 (v.17.11.1) loses all references after a new C# script is added in unity (2022.3.17f)? The issue is appeared after I made a Visual Studio update to the version 17.11.1 two days ago.

If I create a new script in unity editor and then open it in Visual Studio 2022, all the references in the project are marked with yellow triangle. And I get about 7000 errors, but unity can still start the game and seems to work properly.

User's image

User's image

I should always close the Visual Studio and reopen it, so that the error * CS0246The type or namespace name could not be found (are you missing a using directive or an assembly reference?) disappears. I've also noticed, that Intellisense stops working if I rename a variable.

I have tried:

  1. Unity > Edit > Preferences > External Tools > "Regenerate project files"
  2. Unity > Edit > Preferences > External Tools > External Script Editor > VIsual Studio 2022 [17.11.35219]
  3. Rebuild Solution
  4. Delete .vs & obj folders & rebuild solution
  5. Unity Editor > Right button click > Reimport All
  6. Reinstall Unity & Visual Studio

Nothing works, except when I close & reopen VS2022 after I created a new script.

Any ideas?

Visual Studio
Visual Studio
Eine Familie von Microsoft-Sammlungen integrierter Entwicklungstools zum Erstellen von Anwendungen für Windows, das Web und mobile Geräte.
36 Fragen
C#
C#
Eine objektorientierte und typsichere Programmiersprache, die ihre Wurzeln in der C-Sprachenfamilie hat und die komponentenorientierte Programmierung unterstützt
15 Fragen
0 Kommentare Keine Kommentare
{count} Stimmen

1 Antwort

Sortieren nach: Am hilfreichsten
  1. Ivan Dragov (CONCENTRIX Corporation) 2,640 Zuverlässigkeitspunkte Microsoft-Anbieter
    2024-08-26T14:15:13.6533333+00:00

    Hallo Olga,

    Du erhältst den Fehler, weil Du nicht die richtige DLL verwendest. Das Verhalten, das Du erhältst, ist erwartungsgemäß. Mit der Kompilierung und Ausführung des Skripts erstellt Unity das Projekt und die generierte Visual Studio-Lösung neu. Da dieser Schritt die Visual Studio-Lösung neu generiert, gehen alle Anpassungen, die Du daran vorgenommen hast, verloren. Es ist zu beachten, dass Du in den offiziellen Anweisungen nirgends aufgefordert wirst, Verweise auf bereits generierte Projekte hinzuzufügen. Dies geschieht automatisch und manuelle Änderungen gehen verloren. Du solltest überprüfen, ob Deine DLL mit der Framework-Version von Unity übereinstimmt. Wenn dies nicht hilft, solltest Du Dich an Unity wenden, um das Verhalten des von diesem Unternehmen bereitgestellten Skripts zu überarbeiten. Weitere Informationen findest Du in diesen Artikeln:

    Unity: Visual Studio loses DLL reference after Unity compiles code

    Visual Studio showing errors when referencing external assemblies in Unity

    Du kannst auch überprüfen, ob ein Rollback auf die vorherige Version von Visual Studio das Auftreten der Fehler verhindert. Durch das Rollback wird Visual Studio auf die Version zurückgesetzt, die vor dem letzten angewendeten Update installiert wurde, aber es bleiben alle Änderungen an ausgewählten Komponenten erhalten, die seit dem letzten Update ausgewählt wurden. So wird das Rollback durchgeführt:

    Introducing Visual Studio Rollback!

    Gruß,

    Ivan Dragov


Ihre Antwort

Fragesteller*innen können Antworten als akzeptierte Antworten markiert werden, wodurch Benutzer*innen wissen, dass diese Antwort das Problem gelöst hat.