2009-10-02 26 views
6

Tôi có một ứng dụng Silverlight nơi tôi cần sử dụng lớp Vector trong System.Windows trong dự án Web. Nhưng VS đang phàn nàn rằng System.Windows không tồn tại. Tôi đã thử thêm tham chiếu, nhưng nó không có trong danh sách các không gian tên để thêm vào. Trong tab .NET, nó đi từ System.Web.Services đến System.Windows.Forms và bỏ qua System.Windows hoàn toàn.thiếu System.Windows reference

Điều thực sự lạ là System.Windows KHÔNG tồn tại trong danh sách tham chiếu trong dự án Silverlight. Hơn nữa, tôi có một ứng dụng Silverlight khác trên máy tính này với chính xác cùng một thiết lập (hai dự án, một Silverlight, một Web) và tham chiếu là ở đó.

Tôi thấy người khác ở đây có vấn đề tương tự, nhưng không có giải pháp nào phù hợp với tôi. Đã có ai thử điều này chưa?

Trả lời

7

Tôi đã tìm thấy nó! Bạn phải thêm một tham chiếu đến WindowsBase.

Cách thông thường (tôi đoán) để thiết lập ứng dụng Silverlight là có hai dự án: một cho mã khách hàng Silverlight và một cho trang aspx phía máy chủ. Silverlight reference pool có System.Windows có sẵn trong đó. Các hồ bơi tham khảo aspx không. Những gì nó có thay vào đó, là "WindowsBase" dll, mà làm cho không gian tên System.Windows (và có lẽ những người khác) có sẵn trong khối "sử dụng" của bạn. Nhưng nó không được bao gồm trong dự án theo mặc định.

+0

Công việc này không hiệu quả đối với tôi. Tôi đang cố gắng sử dụng System.Windows.Media.Imaging.BitmapImage, vì vậy tôi đoán rằng đó không phải là trong WindowsBase. (Lưu ý: tôi có thể thêm một tham chiếu đến System.Windows.DLL ở phía máy khách (sliverlight), nhưng không phải ở phía máy chủ – tkerwood

+1

nó nằm trong (#region Assembly System.Windows.dll, v2.0.50727 // c: \ Program Files (x86) \ Tham chiếu Assemblies \ Microsoft \ Framework \ Silverlight \ v4.0 \ System.Windows.dll #endregion) Vì vậy chỉ có ở phía Silverlight Client, tôi sẽ xem xét sử dụng System.Drawing. Hình ảnh thay vì – tkerwood

+0

Trong Silverlight 5, điều này dường như không hoạt động ... – Knasterbax

0

Dường như giải pháp được đăng bởi Klay không hoạt động với Silverlight 5 (ít nhất là không có trên máy của tôi).

Hoặc bạn có thể sử dụng Vector2 lớp từ Microsoft.Xna.Framework

Nhưng điều này đòi hỏi một chút viết lại mã dựa trên System.Windows.Vector, kể từ khi TTXVN Vector2 sử dụng phao nổi thay vì của đôi.

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