Erros de compilação comuns no CounterStrikeSharp, explicados
Quando um plugin não compila, o log é longo e cheio de códigos. Quase nunca você precisa de tudo. Procure a primeira linha que começa com error, pegue o código dela e encontre abaixo. Corrigir o primeiro erro muitas vezes elimina todos os outros, porque um único problema pode gerar dezenas de mensagens.
CS0246: tipo ou namespace não encontrado
O compilador não conhece uma classe que você usa. Ou falta uma linha using no topo do arquivo, ou o pacote que contém a classe não está referenciado no arquivo de projeto. Para tipos do jogo como CCSPlayerController, confira se o pacote CounterStrikeSharp.API está referenciado e se o arquivo tem 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: o nome não existe no contexto atual
Você usou um nome que o compilador não enxerga naquele ponto. Costuma ser erro de digitação, uma variável declarada em outro método ou uma classe que precisa do próprio using. Por exemplo, ChatColors vem de CounterStrikeSharp.API.Modules.Utils.
error CS0103: The name 'ChatColors' does not exist in the current context
CS1061: sem definição para um membro
A classe existe, mas não tem propriedade ou método com esse nome. As causas típicas são erro de digitação ou código escrito para outra versão da CounterStrikeSharp.API, na qual esse membro foi adicionado, renomeado ou removido. Se o plugin é de outra pessoa, tente a opção Atual no nosso aviso de versão.
error CS1061: 'CCSPlayerController' does not contain a definition for 'SomeMember'
NU1101: pacote não encontrado
O NuGet não encontra nenhum pacote com exatamente esse nome. Confira a grafia no arquivo de projeto, porque basta uma letra errada. Se o pacote é privado ou só existe em um feed próprio, um compilador público não consegue restaurá-lo e você precisa do código-fonte dele.
error NU1101: Unable to find package SomePackage. No packages exist with this id in source(s): nuget.org
NETSDK1045: o SDK não suporta esta versão do .NET
O projeto pede uma versão do .NET mais nova que o SDK que o compila. Instale um SDK mais recente ou reduza o TargetFramework. Com o nosso compilador, o aviso de versão deixa você escolher um alvo que ele suporte.
error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0.
MSB9008: o projeto referenciado não existe
O arquivo de projeto aponta para outro projeto, geralmente numa pasta vizinha, que não foi incluído no envio. Envie a pasta completa do repositório, e não só a do plugin, para que o projeto compartilhado esteja presente.
error MSB9008: The referenced project '../Shared/Shared.csproj' does not exist.
CS8618: aviso sobre propriedades não anuláveis
É apenas um aviso, então não interrompe a compilação. Ele diz que uma propriedade pode ficar vazia. Você pode ignorá-lo num teste rápido ou resolvê-lo dando à propriedade um valor padrão, como uma string vazia, ou marcando-a com um ponto de interrogação.
warning CS8618: Non-nullable property 'Name' must contain a non-null value when exiting constructor.
Compila, mas continua sem carregar
Um plugin sem nenhum erro ainda pode falhar no servidor. Os motivos comuns são uma versão diferente da CounterStrikeSharp.API no servidor ou a cópia dos arquivos errados. Se for o seu caso, continue com o guia sobre plugins que não carregam.
Este tutorial foi útil?
Barlap para a comunidade.