MySQL: Online
Load: High
Sandbox: Running

CounterStrikeSharpでよくあるコンパイルエラーの読み方

プラグインのコンパイルに失敗すると、ログは長く、コードだらけになります。全部を読む必要はほとんどありません。errorで始まる最初の行を見つけ、そのコードを下の一覧と照らし合わせてください。最初のエラーを直すと、ほかのエラーも一緒に消えることがよくあります。1つの問題が何十ものメッセージを引き起こすことがあるからです。

1

CS0246:型または名前空間が見つからない

コンパイラーが、使っているクラスを知りません。ファイルの先頭にusing行が足りないか、そのクラスを含むパッケージがプロジェクトファイルで参照されていないかのどちらかです。CCSPlayerControllerのようなゲーム側の型なら、CounterStrikeSharp.APIパッケージが参照されていること、ファイルに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?)
2

CS0103:現在のコンテキストに名前が存在しない

コンパイラーから見えない名前を使っています。多くは入力ミス、別のメソッドで宣言した変数、または専用のusingが必要なクラスです。たとえばChatColorsは、CounterStrikeSharp.API.Modules.Utilsにあります。

error CS0103: The name 'ChatColors' does not exist in the current context
3

CS1061:メンバーの定義が見つからない

クラスは存在しますが、その名前のプロパティやメソッドがありません。入力ミスのほか、そのメンバーが追加・名称変更・削除された別バージョンのCounterStrikeSharp.API向けに書かれたコードであることが典型的な原因です。他人のプラグインなら、当社のバージョン確認画面で「現在」を選んでみてください。

error CS1061: 'CCSPlayerController' does not contain a definition for 'SomeMember'
4

NU1101:パッケージが見つからない

NuGetが、その名前と完全に一致するパッケージを見つけられません。プロジェクトファイル内のスペルを確認してください。1文字違うだけで見つかりません。パッケージが非公開だったり、個人のフィードにしかなかったりする場合、公開コンパイラーでは復元できないため、代わりにソースコードが必要です。

error NU1101: Unable to find package SomePackage. No packages exist with this id in source(s): nuget.org
5

NETSDK1045:SDKがこの.NETバージョンをサポートしていない

プロジェクトが、コンパイルに使っているSDKより新しい.NETバージョンを要求しています。新しいSDKをインストールするか、TargetFrameworkを下げてください。当社のコンパイラーでは、バージョン確認画面でコンパイラーが対応しているターゲットを選べます。

error NETSDK1045: The current .NET SDK does not support targeting .NET 10.0.
6

MSB9008:参照先のプロジェクトが存在しない

プロジェクトファイルが、通常は隣のフォルダーにある別のプロジェクトを指していますが、それがアップロードに含まれていません。プラグインのフォルダーだけでなく、リポジトリー全体のフォルダーをアップロードして、共有プロジェクトも含めてください。

error MSB9008: The referenced project '../Shared/Shared.csproj' does not exist.
7

CS8618:null非許容プロパティに関する警告

これは警告にすぎないので、コンパイルは止まりません。プロパティが空のままになる可能性を知らせています。簡単な動作確認なら無視して構いません。直す場合は、空文字列などの既定値を与えるか、型にクエスチョンマークを付けてください。

warning CS8618: Non-nullable property 'Name' must contain a non-null value when exiting constructor.
8

コンパイルは通るのに読み込まれない

エラーが1つもないプラグインでも、サーバー上で失敗することがあります。よくある原因は、サーバー側のCounterStrikeSharp.APIのバージョンが違うこと、またはコピーするファイルを間違えていることです。当てはまる場合は、「プラグインが読み込まれない」ガイドに進んでください。

このチュートリアルは役に立ちましたか?

ページは 0.011 秒で生成されました
CounterStrikeSharp Web Compiler V1.0 - Made with 作成: RomaniaBarlap コミュニティのために。