MySQL: Online
Load: High
Sandbox: Ready

Bir CounterStrikeSharp Eklentisi Derlenirken "Missing Project Reference" Hatası Nasıl Düzeltilir

Bazı eklentiler iki depoya bölünmüştür: eklentinin kendisi ve bağlı olduğu ayrı bir "API" veya "shared" projesi, genellikle git alt modülü olarak bağlanır. Eklentiyi GitHub'dan basit bir .zip olarak indirirseniz, o alt modülün içeriği dahil edilmez, sadece ona bir işaretçi bulunur. Sonuç, onlarca kafa karıştırıcı CS0246/CS0103 hatasıyla başarısız olan bir derleme sürecidir, "type or namespace not found", eksik projenin sağlayacağı her sınıf için bir tane. Gerçek neden tek bir satırdır, kolayca gözden kaçar.

1

Gerçek hatayı bulun

Başarısız derleme günlüğünün en üstüne, CS0246 hata duvarının üstüne kaydırın. Şuna benzer bir satır arayın, gerçek neden budur, altındaki her şey bunun sonucudur:

warning MSB9008: The referenced project ../ggmcAPI/ggmcAPI.csproj does not exist.
2

Ne anlama geldiğini anlayın

Eklentinin .csproj dosyası, göreceli bir yol üzerinden başka bir projeye referans veriyor, yukarıdaki örnekte, eklentinin kendi klasörünün bir seviye üstünde bulunan ggmcAPI adlı bir klasör. O klasör basitçe yüklediğiniz arşivde yok.

3

Git alt modülü olup olmadığını kontrol edin

Eklentinin GitHub sayfasını açın ve normal bir dosya listesi yerine küçük bir ok simgesi ve kısa bir commit hash'i ile gösterilen bir klasör arayın, bu bir alt modüldür. GitHub'daki "Download ZIP" düğmesi alt modül içeriğini asla dahil etmez, sadece hangi commit olması gerektiğine bir işaretçi içerir. O alt modülün deposunu ayrıca açıp kendi başına indirmeniz gerekir.

4

Doğru klasör derinliği

Bu, çoğu insanın ilk denemede yanlış yaptığı adımdır. .csproj içindeki göreceli yol (örneğimizde ../ggmcAPI), .csproj dosyasının kendisini içeren klasöre göre çözülür, .zip arşivinizin köküne göre değil. Eklenti klasörünüz ve bağımlılık klasörünüz kardeş değilse, bir seviye yukarısı yanlış yere gider.

Eklentiniz.zip
Eklentiniz-1.0.0
Eklentiniz.csproj
Eklentiniz.cs
ggmcAPI
ggmcAPI.csproj
5

Kaçınılması gereken yaygın bir hata

Bağımlılık klasörünü eklentinin kendi klasörünün içine koymak mantıklı görünür, ama göreceli yolun beklediği şey bu değildir. Bu yapı, hiç klasör yokmuş gibi tamamen aynı şekilde başarısız olur:

Eklentiniz.zip
Eklentiniz-1.0.0
Eklentiniz.csproj
ggmcAPI (yanlış derinlik)
6

Yeniden derleyin

Her iki klasör de doğru derinlikte yan yana durduğunda, arşivi yeniden sıkıştırın ve tekrar yükleyin. MSB9008 günlükten kaybolduysa ama hala hatalar görüyorsanız, bunlar artık ayrıca incelemeye değer gerçek derleme hatalarıdır.

CS2Sharp Derleyicisini Aç

Bu rehber işinize yaradı mı?

0 kullanıcı bu rehberi faydalı buldu
Sayfa 0.011 saniyede oluşturuldu
CounterStrikeSharp Web Compiler V1.0 - Şununla yapıldı tarafından RomaniaBarlap topluluk için.