سؤال
أحاول تحميل 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" />