سؤال

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

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

المحلول

افتراضيًا في Visual Studio 2008 (وكما هو مستخدم في معظم الأمثلة عبر الإنترنت) ، يتم تجميع القالب باستخدام إطار 2.0 ، والذي لا يشمل LINQ. (نرى موضوع منتدى MSDN)

لحل المشكلة ، هناك حاجة إلى ثلاث خطوات:

  1. في سمة لغة القالب الخاص بك ، حدد "C#V3.5" أو "VBV3.5" - هذه الخطوة غير مطلوبة لـ VS2010 ، حيث يتم استخدام .NET 4.0 دائمًا.
  2. إضافة توجيه التجميع لنظام. core.dll
  3. استيراد مساحة الاسم

سيبدو قالبك الآن شيئًا كهذا:

<#@ template language="C#v3.5" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>

يمكنك الآن استخدام LINQ وميزات اللغة الجديدة الأخرى في القالب الخاص بك.

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