MySQL: Online
Load: Low
Sandbox: Running

كيفية إصلاح خطأ "Missing Project Reference" عند تجميع إضافة CounterStrikeSharp

بعض الإضافات مقسمة على مستودعين: الإضافة نفسها، ومشروع منفصل من نوع "API" أو "shared" تعتمد عليه، عادة ما يكون مرتبطًا كوحدة فرعية git. إذا قمت بتنزيل الإضافة كملف .zip بسيط من GitHub، فلن يتم تضمين محتوى تلك الوحدة الفرعية، بل مؤشر إليها فقط. النتيجة هي عملية تجميع تفشل بعشرات الأخطاء المربكة CS0246/CS0103، "type or namespace not found"، واحد لكل صنف كان سيوفره المشروع المفقود. السبب الحقيقي هو سطر واحد فقط، يسهل تفويته.

1

ابحث عن الخطأ الحقيقي

مرر إلى أعلى سجل التجميع الفاشل، فوق جدار أخطاء CS0246. ابحث عن سطر مثل هذا، إنه السبب الحقيقي، وكل ما يليه هو نتيجة له:

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

افهم ماذا يعني

يشير ملف .csproj الخاص بالإضافة إلى مشروع آخر عبر مسار نسبي، في المثال أعلاه، مجلد باسم ggmcAPI، يقع مستوى واحد فوق مجلد الإضافة نفسه. هذا المجلد ببساطة غير موجود في الأرشيف الذي قمت برفعه.

3

تحقق مما إذا كانت وحدة فرعية git

افتح صفحة الإضافة على GitHub وابحث عن مجلد يظهر بأيقونة سهم صغيرة وتجزئة commit قصيرة، بدلاً من قائمة ملفات عادية، هذه وحدة فرعية. زر "Download ZIP" في GitHub لا يتضمن أبدًا محتوى الوحدات الفرعية، بل مؤشرًا فقط إلى commit الذي يجب أن يكون. ستحتاج إلى فتح مستودع تلك الوحدة الفرعية بشكل منفصل وتنزيله بمفرده.

4

عمق المجلد الصحيح

هذه هي الخطوة التي يخطئ فيها معظم الناس في المحاولة الأولى. المسار النسبي في .csproj (‎../ggmcAPI في مثالنا) يتم حله بالنسبة للمجلد الذي يحتوي على ملف .csproj نفسه، وليس بالنسبة لجذر أرشيف .zip الخاص بك. إذا لم يكن مجلد الإضافة الخاص بك ومجلد التبعية في نفس المستوى، فإن مستوى واحد للأعلى يؤدي إلى المكان الخاطئ.

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

خطأ شائع يجب تجنبه

وضع مجلد التبعية داخل مجلد الإضافة نفسه يبدو منطقيًا، لكنه ليس ما يتوقعه المسار النسبي. سيفشل هذا الهيكل تمامًا كما لو لم يكن هناك أي مجلد على الإطلاق:

YourPlugin.zip
YourPlugin-1.0.0
YourPlugin.csproj
ggmcAPI (عمق خاطئ)
6

أعد التجميع

بمجرد أن يصبح كلا المجلدين جنبًا إلى جنب في العمق الصحيح، أعد ضغط الأرشيف وارفعه مرة أخرى. إذا اختفى MSB9008 من السجل لكنك ما زلت ترى أخطاء، فهذه الآن أخطاء تجميع حقيقية تستحق النظر فيها بشكل منفصل.

افتح مترجم CS2Sharp

هل كان هذا الدليل مفيدًا؟

وجد 0 مستخدمين هذا الدليل مفيدًا
تم إنشاء الصفحة في 0.016 ثانية
CounterStrikeSharp Web Compiler V1.0 - صُنع بواسطة بواسطة RomaniaBarlap من أجل المجتمع.