سؤال

أحاول ترحيل مشروع MVC2 إلى MVC3 - لقد اتبعت الإرشادات في ملاحظات الإصدار وسيتم تجميع التطبيق ، لكن المشروع يعتمد على عدد قليل من المساعدين الموجودين داخل MVCFUtures و ROSSES السابقة:

رسالة خطأ المترجم: CS1061: 'System.Web.Mvc.htmlhelper' لا يحتوي على تعريف لـ "submitimage" ولا يمكن العثور على طريقة تمديد "تقديم" قبول الوسيطة الأولى من النوع "system.web.mvc.htmlhelper" ( هل تفتقد إلى توجيه أو مرجع تجميع؟)

يتضمن الحل الخاص بي مجلد LIB ، بداخله:

mvcfutures microsoft.web.mvc.dll

هل لدي خيار ترقية هنا؟

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

المحلول

لقد ذكرت أن العقود الثنائية MVC الخاصة بك تقع في مجلد LIB. تأكد من أن:

  1. مشروعك لديه إشارة Assesmbly إلى تلك المكتبة
  2. يتم نسخ MVCFutures DLL إلى مجلد BIN
  3. Web.Config لديه إشارة تجميع إلى mvcfutures

هل يمكنك أيضًا توضيح ما إذا كان الاستثناء الذي تراه هو عند تجميع تطبيقك في Visual Studio (لأنك تستخدم أساليب MVC المستقبلية في وحدات التحكم أو نماذج البيانات) أو عند الوصول إلى تطبيقك في المتصفح (لأنك تستخدم العقود المستقبلية فيك الآراء).

راجع للشغل ، سيتم إصدار نسخة تمت ترقيتها من العقود الآجلة MVC التي تستهدف MVC 3 قريبًا.

تحديث: الرمز المصدري لـ MVC 3 Futures متاح بالفعل على CodePlex: http://aspnet.codeplex.com/releases/view/58781 حتى تتمكن من تجميعها بنفسك.

نصائح أخرى

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

تأكد من أن صفحتك تحتوي على بيان مساحة الاسم لـ Microsoft.web.mvc.

إذا كنت تحاول الترحيل إلى Razor (وهو ما لم تقل ، ولكن فقط في حالة) ، يمكنك وضع مرجع مساحة الاسم في ملف Web.Config الموجود في مجلد طرق العرض (لتجنب الاضطرار إلى تضمين بيان استخدام في كل من آرائك) ، مثل هذا:

   <system.web.webPages.razor>
     <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
     <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
           <add namespace="System.Web.Mvc" />
           <add namespace="System.Web.Mvc.Ajax" />
           <add namespace="System.Web.Mvc.Html" />
           <add namespace="System.Web.Routing" />
           <add namespace="Microsoft.Web.Helpers" />
           ...
        </namespaces>
     </pages>
  </system.web.webPages.razor>

لترقية وجهات نظرك ، قد ترغب في تجربة هذا من Telerik ...

https://github.com/telerik/razor-converter

... سيقوم بتحويل طرق عرض WebForms إلى Razor.

يعتبر

بول

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