2010-09-30 31 views
6

Khi tôi mở một trang web Asp Net của tôi trong Visual Studio 2010, các thuộc tính nói "Target Framework 3.5", tuy nhiên khi tôi cố gắng sử dụng không gian tên LINQ trình biên dịch phàn nàn về nó.Không gian tên System.Loreq bị thiếu ngay cả khi tham chiếu đến System.Core.Dll

"Loại hoặc namespace tên 'var' không thể tìm được (là bạn thiếu một chỉ thị sử dụng hoặc tham khảo một hội?)"

"Loại hoặc namespace tên 'LINQ' không tồn tại trong không gian tên 'Hệ thống' (bạn có thiếu tham chiếu lắp ráp không?) "

Tôi đã tham khảo một cách thủ công một số dll để khắc phục sự cố của tôi, nhưng vẫn không thành công.

<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.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 

Trợ giúp? :-)

Trả lời

5

Nếu bạn thậm chí không thể sử dụng var, điều đó cho thấy nó thậm chí không sử dụng đúng phiên bản trình biên dịch C#. (Bạn sẽ có thể sử dụng var ngay cả khi nhắm mục tiêu .NET 2.0, miễn là bạn đang sử dụng trình biên dịch C# 3 hoặc C# 4.) Tôi sẽ tập trung vào việc làm việc đó trước tiên trước bất cứ điều gì khác.

Có thể bạn đang chạy trên IIS nhưng không có cấu hình đó một cách thích hợp? Nó có thể là giá trị nhìn vào cấu hình trang web của bạn xung quanh bên đó của sự vật, và có thể chạy lại aspnet_regiis.

+0

Cảm ơn đã chỉ cho tôi đi đúng hướng - khi tôi đang tìm tại YSOD và mở rộng hiển thị đầu ra trình biên dịch chi tiết đây là những gì tôi nhận được: Microsoft (R) Visual C# 2005 phiên bản Compiler 8.00.50727.4016 cho Microsoft (R) Windows (R) 2005 Framework phiên bản 2.0.50727 --- nhưng tôi ngần ngại chạy aspnet_regiis, làm thế nào có thể Tôi chắc chắn tôi không phá vỡ công cụ? Đó là một máy chủ trực tiếp. – joeriks

+0

... nhưng trình biên dịch C# 3 ở đâu? ... – joeriks

+0

... tìm hiểu các công cụ mới ở đây ... có rất nhiều tài liệu tham khảo 2.0 trong phần biên dịch IIS .Net của trang web Assemblies. (Không tìm thấy trong web.config). – joeriks

2

Tôi chỉ cố định một vấn đề tương tự thêm một thuộc tính targetFramework="4.0" tới phần tử compilation trong web.config

Đoạn liên quan sửa đổi là:

<compilation debug="true" targetFramework="4.0"> 
    <assemblies> 
    <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
    </assemblies> 
</compilation> 
+0

Cảm ơn amrtn.it làm việc cho tôi. –

Các vấn đề liên quan