سؤال

أحاول تحميل Linq على خادم الويب الممكّن لـ .Net 3.5 الخاص بي عن طريق إضافة ما يلي إلى صفحة .aspx الخاصة بي:

<%@ Import Namespace="System.Query" %>

ومع ذلك، فشل هذا وأخبرني أنه لا يمكن العثور على مساحة الاسم.

النوع أو اسم مساحة الاسم "الاستعلام" غير موجود في مساحة الاسم "النظام"

لقد حاولت أيضًا ولم يحالفني الحظ:

  • System.Data.Linq
  • System.Linq
  • System.Xml.Linq

أعتقد أن .Net 3.5 يعمل لأنه var hello = "Hello World" يبدو أنه يعمل.

يمكن لأي شخص أن يساعد من فضلك؟

ملاحظة:أريد فقط أن أوضح أنني لا أستخدم Visual Studio، لدي ببساطة محرر النص واكتب الكود الخاص بي مباشرة في ملفات .aspx.

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

المحلول

لقد تم تحديد الإصدار 2 في IIS وI

حسنًا، بالتأكيد هذه مشكلتك؟اختر 3.5.

في الواقع، إليك المعلومات الحقيقية:

http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx

نصائح أخرى

كيف يبدو جزء ملف web.config الخاص بك؟

إليك ما يبدو عليه مشروع ASP.NET 3.5 الجديد الذي تم إنشاؤه باستخدام Visual Studio 2008:

<assemblies>
  <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>

لقد وجدت الإجابة :) كنت بحاجة لإضافة ما يلي إلى ملف web.config الخاص بي:

<assemblies>  
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>  
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>

ثم يمكنني إضافة ما يلي إلى الكود الخاص بي:

<%@ Import Namespace="System.Linq" %>

@سوف،

شكرا لمساعدتك.لقد قبلت إحدى إجاباتك :)

تأكد من تعيين مشروعك على الهدف 3.5، وليس 2.0.

كما قال الآخرون، فإن اختبار "var" الخاص بك هو اختبار لـ C#3 (أي.VS2008)، وليس الإطار 3.5.

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

ال var hello الاشياء هي مترجم سحري وستعمل بدون Linq.

حاول إضافة مرجع إلى System.Core


آسف، لم أكن واضحا.قصدت إضافة System.Core إلى مراجع مشروع الويب، وليس إلى الصفحة.

ال Import الموجودة على الصفحة تستخدم العبارات فقط، مما يسمح لك بتخطي مساحة الاسم على الصفحة.

ربما يفتقد ملف csproj مرجع System.Core.ابحث عن سطر في ملف csproj مثل هذا:

<Reference Include="System" />

وأضف سطراً تحته هكذا:

<Reference Include="System.Core" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top