Errores de compilación habituales en CounterStrikeSharp, explicados
Cuando un plugin no compila, el registro es largo y está lleno de códigos. Casi nunca necesitas todo. Busca la primera línea que empiece por error, toma su código y búscalo abajo. Arreglar el primer error suele eliminar todos los demás, porque un solo problema puede provocar decenas de mensajes.
CS0246: no se encuentra el tipo o el espacio de nombres
El compilador no conoce una clase que usas. O falta una línea using al principio del archivo, o el paquete que contiene la clase no está referenciado en el archivo de proyecto. Para tipos del juego como CCSPlayerController, comprueba que el paquete CounterStrikeSharp.API está referenciado y que el archivo tiene 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: el nombre no existe en el contexto actual
Has usado un nombre que el compilador no ve desde ese lugar. Suele ser una errata, una variable declarada en otro método o una clase que necesita su propio using. Por ejemplo, ChatColors viene de CounterStrikeSharp.API.Modules.Utils.
error CS0103: The name 'ChatColors' does not exist in the current context
CS1061: no hay definición para un miembro
La clase existe, pero no tiene ninguna propiedad ni método con ese nombre. Las causas típicas son una errata o código escrito para otra versión de CounterStrikeSharp.API, en la que ese miembro se añadió, se renombró o se eliminó. Si es el plugin de otra persona, prueba la opción Actual de nuestro aviso de versión.
error CS1061: 'CCSPlayerController' does not contain a definition for 'SomeMember'
NU1101: paquete no encontrado
NuGet no encuentra ningún paquete con ese nombre exacto. Revisa la ortografía en el archivo de proyecto, porque basta una letra equivocada. Si el paquete es privado o solo existe en un feed propio, un compilador público no puede restaurarlo y necesitas su código fuente en su lugar.
error NU1101: Unable to find package SomePackage. No packages exist with this id in source(s): nuget.org
NETSDK1045: el SDK no admite esta versión de .NET
El proyecto pide una versión de .NET más nueva que el SDK que lo compila. Instala un SDK más reciente o baja el TargetFramework. Con nuestro compilador, el aviso de versión te deja elegir un destino que el compilador soporte.
error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0.
MSB9008: el proyecto referenciado no existe
El archivo de proyecto apunta a otro proyecto, normalmente en una carpeta vecina, que no se incluyó en la subida. Sube la carpeta completa del repositorio y no solo la del plugin, para que el proyecto compartido esté presente.
error MSB9008: The referenced project '../Shared/Shared.csproj' does not exist.
CS8618: advertencia sobre propiedades que no admiten null
Es solo una advertencia, así que no detiene la compilación. Te avisa de que una propiedad podría quedar vacía. Puedes ignorarla en una prueba rápida o arreglarla dándole un valor por defecto, como una cadena vacía, o marcándola con un signo de interrogación.
warning CS8618: Non-nullable property 'Name' must contain a non-null value when exiting constructor.
Compila, pero sigue sin cargar
Un plugin sin ningún error puede fallar igualmente en el servidor. Los motivos habituales son una versión distinta de CounterStrikeSharp.API en el servidor o haber copiado los archivos equivocados. Si es tu caso, sigue con la guía sobre plugins que no cargan.
¿Te ha resultado útil este tutorial?
Barlap para la comunidad.