2010-06-16 36 views
7

Tôi vừa nâng cấp dự án VS 2008 lên VS 2010, chuyển đổi dự án nhưng vẫn giữ mục tiêu là .NET 3.5 (SP1 được cài đặt). Dự án của tôi làm việc không có vấn đề theo VS 2008 trên một máy khác.Không thể tìm thấy lỗi không gian tên System.Web.Script.Service sau khi nâng cấp lên Visual Studio 2010

Tôi đã thêm tài liệu tham khảo để System.Web.Extensions.dll nhưng tôi vẫn nhận được các lỗi sau đây từ mã trong thư mục App_Code:

1) Không thể tìm thấy System.Web.Script.Service namespace.

2) Loại 'System.Web.Script.Services.ScriptService' không được xác định.

3) Loại 'System.Runtime.Serialization.Json.DataContractJsonSerializer' không được xác định.

Bất kỳ ai có bất kỳ ý tưởng nào về vấn đề có thể xảy ra khi tôi khá bối rối? :(

+0

Thú vị ... khi sử dụng Trình duyệt đối tượng trong VS 2010 và đi sâu vào C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.5 \ System.Web.Extensions.dll> System.Web.Script. Dịch vụ Tôi không thể tìm thấy một mục ScriptService. Ngoài ra khi tôi đi sâu vào C: \ Program Files \ Tham khảo Assemblies \ Microsoft \ Framework \ v3.0 \ System.Runtime.Serialization.dll> System.Runtime.Serialization Tôi không thấy một mục Json hoặc. Khớp các vấn đề được báo cáo trong mã. Tôi có thiếu một số cài đặt không? – Gavin

+1

Cũng thú vị là nếu tôi nhắm mục tiêu khung 4.0 thay vì 3,5 mọi thứ hoạt động tốt. Rất tiếc, 4.0 không khả dụng trên máy chủ web của tôi: ( – Gavin

Trả lời

5

Dường như có một lỗi từ Microsoft, nơi khung mục tiêu cho v3.5 trong VS2010 là v3.0 của GAC! Di chuyển hội đồng với vấn đề để v3.0 thư mục dường như để bắt đầu giải quyết vấn đề, nhưng một chút lộn xộn. Hãy suy nghĩ tôi sẽ chờ đợi cho Microsoft để đưa ra một sửa chữa thích hợp cho VS 2010!

http://www.cnblogs.com/dudu/archive/2010/06/24/1764549.html

Google dịch giúp liên kết này!

Xem chi tiết của cụm sao chép vào thư mục v3.0 từ thư mục v3.5 là một công việc xung quanh để lỗi VS 2010 này:

http://forums.asp.net/p/1569744/3942724.aspx

Nếu bất cứ ai khác đang gặp phải vấn đề này và muốn theo dõi/bỏ phiếu lên tình trạng lỗi này với Microsoft: https://connect.microsoft.com/VisualStudio/feedback/details/570557/targeting-net-framework-3-5-actually-targets-3-0-gac

Update - Microsoft đăng tải việc sửa chữa sau để báo cáo lỗi tôi nêu ra:

Để xây dựng một trang web nhắm mục tiêu đến 3,5, vui lòng thêm thẻ trình biên dịch vào tệp web.config của bạn như tôi dán bên dưới, để biên soạn ngôn ngữ sẽ chọn đúng phiên bản vbc.exe. Bạn có thể tạo một trang web mới 3.5 và web.config mặc định có các thẻ bạn có thể tham chiếu.

<system.codedom> 
    <compilers> 
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
     <providerOption name="CompilerVersion" value="v3.5"/> 
     <providerOption name="OptionInfer" value="true"/> 
     <providerOption name="WarnAsError" value="false"/> 
    </compiler> 
    </compilers> 
</system.codedom> 
1
  • Kiểm tra lắp ráp web.config của bạn mục.

  • Kiểm tra .NET Framework target của bạn trong Visual Studio của bạn dự án 2010, mặc định là 4,0

  • Kiểm tra IIS, hãy chắc chắn bạn đang sử dụng khung thích hợp cho trang web của bạn. Cài đặt .NET 4.0 mới có thể thay đổi Khung mặc định thành 4.0.

+0

Xin chào Rick, tôi đã có hai mục nhập sau: Gavin

+0

Xin chào Rick, chúc mừng lần nữa nhưng tôi đã nhắm mục tiêu 3.5 thay vì Và tôi đang chạy các trang web trực tiếp từ VS 2010 vì vậy IIS không nên đến để chơi? – Gavin

+0

Máy của bạn đã bao giờ có Visual Studio 2010 Beta hoặc RC? Tôi đã phải tự loại bỏ một số thư mục cho năm 2010 để hoạt động chính xác –

1

Tôi đã giải quyết vấn đề tương tự bằng cách thay đổi khung mục tiêu của trang web của tôi từ 3,5 sang 4.0 và quay lại 3,5 lần nữa.

Điều này dẫn đến rất nhiều bổ sung cho tệp web.config của tôi có thể giúp việc Visual Studio hỗ trợ dự án của tôi dễ dàng hơn rất nhiều.

Tôi chưa bao giờ "nâng cấp dự án của tôi để Visual Studio 2010", nhưng điều này là một trang web aspx cũ và điều này có thể là lần đầu tiên nó được mở đầu bằng VS 2010.

15

Trong Visual Studio 2012, hãy chắc chắn thêm tài liệu tham khảo cho System.Web.Extensions vì đây là tài liệu tham chiếu System.Web.Script.Serialization.

0

Tôi đã giải quyết vấn đề tương tự với tôi bằng cách thay đổi khung mục tiêu của trang web của tôi từ 3,5 sang 4.0 và quay lại 3,5 lần nữa.

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