отсутствует ссылка System.Windows - PullRequest
6 голосов
/ 03 октября 2009

У меня есть приложение Silverlight, где мне нужно использовать класс Vector в System.Windows в веб-проекте. Но VS жалуется, что System.Windows не существует. Я попытался добавить ссылку, но ее нет в списке пространств имен для добавления. На вкладке .NET он переходит от System.Web.Services к System.Windows.Forms и вообще пропускает System.Windows.

Что действительно странно, так это то, что System.Windows существует в списке ссылок в проекте Silverlight. Кроме того, у меня есть еще одно приложение Silverlight на этом компьютере с точно такой же настройкой (два проекта, один Silverlight, один Web), и ссылка там есть.

Я видел, что у кого-то еще здесь была похожая проблема, но ни одно из решений не помогло мне. Кто-нибудь еще испытывал это?

Ответы [ 2 ]

7 голосов
/ 05 октября 2009

Я нашел это! Вы должны добавить ссылку на WindowsBase.

Обычный способ (я предполагаю) настроить приложение Silverlight - это иметь два проекта: один для клиентского кода Silverlight и один для страниц ASPX на стороне сервера. В ссылочном пуле Silverlight есть System.Windows. Ссылочный пул aspx - нет. Вместо этого он имеет библиотеку «WindowsBase», которая делает пространство имен System.Windows (и, возможно, другие) доступным в вашем блоке «using». Но он не включен в проект по умолчанию.

0 голосов
/ 05 декабря 2012

Похоже, что решение, опубликованное Klay, не работает с Silverlight 5 (по крайней мере, на моем компьютере).

В качестве альтернативы вы можете использовать Vector2 класс от Microsoft.Xna.Framework

Но для этого нужно немного переписать код, основанный на System.Windows.Vector, поскольку VNA Vector2 использует числа с плавающей запятой вместо двойных.

...