C# ASP.NET - لا يمكن العثور على اسم مساحة المساحة "أو" المساعد "(هل تفتقد إلى توجيه أو مرجع تجميع؟)

StackOverflow https://stackoverflow.com/questions/3416487

  •  26-09-2019
  •  | 
  •  

سؤال

أقوم بإعادة صياغة رمز شخص آخر ، حيث كان لديهم فئة مساعد مع الكثير من التعليمات البرمجية التي لا ينبغي أن يكون هناك (الوصول إلى البيانات ، منطق العمل ، كان كل شيء تم دفعه ببطء هناك).

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

إليك رؤية بسيطة لكيفية ظهور صفي (أسماء تغيرت قليلاً) ؛

namespace Company.Web.Application.Reporting 

{
    public class ReportHelper
    {
    here I have a bunch of methods
    }
}

وإليك كيف يتم الرجوع إليه ؛

using Company.Web.Application.Reporting;

namespace Company.Web.Application.App.Reports
{
    public partial class PlansReports : PageBase
    {
        //This is the problem part
        private ReportHelper Helper = new ReportHelper(); 
        heaps of other code with no problems here...
    }
}

مشكلتي هي أن أحصل على الخطأ التالي ، في كل مكان أحاول الوصول إليه المساعد الجديد.

لا يمكن العثور على اسم مساحة الاسم أو اسم اسم "Resorthelper" (هل تفتقد إلى التوجيه أو مرجع تجميع؟)

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

أي مساعدة يحظى بتقدير كبير،

تربيتة.

هل كانت مفيدة؟

المحلول

حسنًا ، لقد وجدت المشكلة (في الواقع قام زميل)

تم احتواء فئة المساعد الأصلية هذه في مجلد App_Code في مشروعي الرئيسي ، والذي تعلمته للتو ، يتعامل مع التجميع بشكل مختلف مع جميع المجلدات الأخرى في المشروع. يتم تجميع الكود هنا في وقت التشغيل ، وليس أثناء البناء. عندما قمت بإنشاء فصولي الجديدة ، كانوا في مجلد App_Code لأنني استخدمت Code Rush لاستخراج الفصل إلى ملف جديد ، مما أبقى في نفس الموقع ... وبعد ذلك نقلتهم إلى موقعهم "المعقول". لسوء الحظ ، لا يزال لديهم عمل بناء "المحتوى" الموروث من وجودهم السابق في مجلد App_Code. لذلك ، في ملف الفصل الجديد ، قمت ببساطة بتغيير إجراء البناء إلى "التجميع" والآن كل شيء على ما يرام مع العالم.

هتافات،

تربيتة.

نصائح أخرى

هو الخاص بك ReportHelper في مشروع منفصل أو DLL؟ إذا كان الأمر كذلك ، هل أضفت هذا المشروع/DLL كمرجع؟ (في الحلول الخاصة بك تحت المراجع ، تحقق من وجود مشروع/DLL الخاص بك.

هل بنيت Company.Web.Application.Reporting بحيث يكون النوع معروفًا؟ ستكون هذه فكرتي إلى جانب ضمان إعداد التبعيات بشكل صحيح.

يبدو أنك تعرف ما تفعله وكل شيء يبدو صحيحًا ، لذلك يجب أن يكون شيئًا بسيطًا. هل تحاول الوصول إلى التغييرات في إعادة التجميع التي لم يتم تجميعها في DLL؟ سأحاول إعادة بناء الجمعية المرجعية ؛ في كل مرة تقوم فيها بإجراء تغييرات على هذا التجميع ، يجب إعادة بنائها.

تحقق أيضًا من أنك تقوم بإضافة التجميع الصحيح (على سبيل المثال Debug مقابل الإصدار) إلى مشروعك. لا يهم أي نوع ، لكنك لا تريد تجميع تغييرات جديدة في DLL DLL ، وتستمر في إضافة الإصدار القديم من DLL الإصدار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top