Les erreurs de compilation CounterStrikeSharp les plus courantes, expliquées
Quand un plugin ne compile pas, le journal est long et plein de codes. Vous n’avez presque jamais besoin de tout lire. Cherchez la première ligne qui commence par error, prenez son code et retrouvez-le ci-dessous. Corriger la première erreur fait souvent disparaître toutes les autres, car un seul problème peut déclencher des dizaines de messages.
CS0246 : type ou espace de noms introuvable
Le compilateur ne connaît pas une classe que vous utilisez. Soit une ligne using manque en haut du fichier, soit le paquet qui contient la classe n’est pas référencé dans le fichier de projet. Pour les types du jeu comme CCSPlayerController, vérifiez que le paquet CounterStrikeSharp.API est référencé et que le fichier contient using CounterStrikeSharp.API.Core.
error CS0246: The type or namespace name 'CCSPlayerController' could not be found (are you missing a using directive or an assembly reference?)
CS0103 : le nom n’existe pas dans le contexte actuel
Vous avez utilisé un nom que le compilateur ne voit pas à cet endroit. C’est souvent une faute de frappe, une variable déclarée dans une autre méthode ou une classe qui demande son propre using. Par exemple, ChatColors vient de CounterStrikeSharp.API.Modules.Utils.
error CS0103: The name 'ChatColors' does not exist in the current context
CS1061 : aucune définition pour un membre
La classe existe mais n’a pas de propriété ni de méthode de ce nom. Les causes typiques : une faute de frappe, ou du code écrit pour une autre version de CounterStrikeSharp.API où ce membre a été ajouté, renommé ou supprimé. Pour le plugin de quelqu’un d’autre, essayez l’option Actuelle dans notre fenêtre de choix de version.
error CS1061: 'CCSPlayerController' does not contain a definition for 'SomeMember'
NU1101 : paquet introuvable
NuGet ne trouve aucun paquet portant exactement ce nom. Vérifiez l’orthographe dans le fichier de projet : une seule lettre fausse suffit. Si le paquet est privé ou n’existe que dans un flux personnel, un compilateur public ne peut pas le restaurer et il vous faut son code source à la place.
error NU1101: Unable to find package SomePackage. No packages exist with this id in source(s): nuget.org
NETSDK1045 : le SDK ne prend pas en charge cette version de .NET
Le projet demande une version de .NET plus récente que le SDK qui le compile. Installez un SDK plus récent ou abaissez le TargetFramework. Avec notre compilateur, la fenêtre de choix de version vous laisse sélectionner une cible qu’il prend en charge.
error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0.
MSB9008 : le projet référencé n’existe pas
Le fichier de projet pointe vers un autre projet, généralement dans un dossier voisin, qui n’a pas été inclus dans l’envoi. Envoyez le dossier complet du dépôt et pas seulement celui du plugin, afin que le projet partagé soit présent.
error MSB9008: The referenced project '../Shared/Shared.csproj' does not exist.
CS8618 : avertissement sur les propriétés non nullables
Ce n’est qu’un avertissement, il n’arrête donc pas la compilation. Il signale qu’une propriété pourrait rester vide. Ignorez-le pour un test rapide, ou corrigez-le en donnant une valeur par défaut à la propriété, par exemple une chaîne vide, ou en la marquant d’un point d’interrogation.
warning CS8618: Non-nullable property 'Name' must contain a non-null value when exiting constructor.
Ça compile, mais ça ne se charge toujours pas
Un plugin sans aucune erreur peut quand même échouer sur le serveur. Les raisons habituelles : une autre version de CounterStrikeSharp.API sur le serveur, ou de mauvais fichiers copiés. Si c’est votre cas, poursuivez avec le guide sur les plugins qui ne se chargent pas.
Ce tutoriel vous a-t-il été utile ?
Barlap pour la communauté.