Häufige CounterStrikeSharp-Kompilierfehler einfach erklärt
Scheitert ein Plugin beim Kompilieren, ist das Log lang und voller Codes. Meist brauchst du nicht alles. Suche die erste Zeile, die mit error beginnt, nimm ihren Code und finde ihn unten. Oft verschwinden mit dem ersten Fehler auch alle anderen, denn ein einziges Problem kann Dutzende Meldungen auslösen.
CS0246: Typ oder Namespace nicht gefunden
Der Compiler kennt eine Klasse nicht, die du verwendest. Entweder fehlt oben in der Datei eine using-Zeile, oder das Paket mit der Klasse ist in der Projektdatei nicht eingebunden. Bei Spieltypen wie CCSPlayerController prüfe, ob das Paket CounterStrikeSharp.API referenziert ist und die Datei using CounterStrikeSharp.API.Core enthält.
error CS0246: The type or namespace name 'CCSPlayerController' could not be found (are you missing a using directive or an assembly reference?)
CS0103: Name existiert im aktuellen Kontext nicht
Du hast einen Namen verwendet, den der Compiler an dieser Stelle nicht sieht. Meist ist es ein Tippfehler, eine Variable aus einer anderen Methode oder eine Klasse, die eine eigene using-Zeile braucht. ChatColors stammt zum Beispiel aus CounterStrikeSharp.API.Modules.Utils.
error CS0103: The name 'ChatColors' does not exist in the current context
CS1061: keine Definition für ein Mitglied
Die Klasse existiert, hat aber keine Eigenschaft oder Methode mit diesem Namen. Typische Ursachen sind ein Tippfehler oder Code für eine andere Version der CounterStrikeSharp.API, in der das Mitglied hinzugekommen ist, umbenannt oder entfernt wurde. Bei fremden Plugins probiere die Option Aktuelle in unserer Versionsabfrage.
error CS1061: 'CCSPlayerController' does not contain a definition for 'SomeMember'
NU1101: Paket nicht gefunden
NuGet findet kein Paket mit genau diesem Namen. Prüfe die Schreibweise in der Projektdatei, denn ein einziger falscher Buchstabe genügt. Ist das Paket privat oder nur in einem eigenen Feed vorhanden, kann ein öffentlicher Compiler es nicht wiederherstellen, und du brauchst stattdessen seinen Quellcode.
error NU1101: Unable to find package SomePackage. No packages exist with this id in source(s): nuget.org
NETSDK1045: SDK unterstützt diese .NET-Version nicht
Das Projekt verlangt eine neuere .NET-Version als das SDK, das es kompiliert. Installiere ein neueres SDK oder senke das TargetFramework. Bei unserem Compiler kannst du in der Versionsabfrage ein Ziel wählen, das der Compiler unterstützt.
error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0.
MSB9008: referenziertes Projekt existiert nicht
Die Projektdatei verweist auf ein anderes Projekt, meist in einem Nachbarordner, das nicht mit hochgeladen wurde. Lade den vollständigen Repository-Ordner hoch und nicht nur den Plugin-Ordner, damit auch das gemeinsame Projekt dabei ist.
error MSB9008: The referenced project '../Shared/Shared.csproj' does not exist.
CS8618: Warnung zu Non-Nullable-Eigenschaften
Das ist nur eine Warnung und stoppt die Kompilierung nicht. Sie weist darauf hin, dass eine Eigenschaft leer bleiben könnte. Für einen schnellen Test kannst du sie ignorieren oder beheben, indem du der Eigenschaft einen Standardwert gibst, etwa einen leeren String, oder sie mit einem Fragezeichen kennzeichnest.
warning CS8618: Non-nullable property 'Name' must contain a non-null value when exiting constructor.
Kompiliert, lädt aber trotzdem nicht
Ein Plugin ohne jeden Fehler kann auf dem Server trotzdem scheitern. Häufige Gründe sind eine andere CounterStrikeSharp.API-Version auf dem Server oder die falschen kopierten Dateien. Trifft das auf dich zu, lies weiter in der Anleitung zu Plugins, die nicht laden.
War diese Anleitung hilfreich?
Barlap für die Community.