2009-04-11 3 views
0

Я создал проект Silverlight, который также содержит веб-проект.Compiling Silverlight runtime question

У меня есть несколько файлов классов в моем веб-проекте, в которых используются типы данных System.Windows.Point и System.Windows.Size, и я получаю ошибки компиляции, когда пытаюсь передать любой из этих типов в списке, например List<Point>, в проект Silverlight. Если я попытаюсь без List<>, я до сих пор получаю ошибку типа данных точки.

Я рассмотрел информацию о компиляции сборок Silverlight с сайта David Betz. Я нашел tool, чтобы помочь мне использовать первый из двух подходов, которые он обсуждает, и успешно скомпилировал среду выполнения и ссылался на нее в моем проекте Silverlight.

Вот ошибки:

  • Тип «System.Windows.Point» является определен в сборке, не ссылки. Вы должны добавить ссылку в сборку 'WindowsBase, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'. C: \ Documents и Settings \ Gary \ Мои документы \ Визуальная Студия 2008 \ Projects \ GEP.Reports.Spatial \ GEP.Reports.Spatial \ MainPage.xaml.cs
  • не может конвертировать из «System.Collections. Generic.List [C: \ Program Files \ Reference сборки \ Microsoft \ Framework \ Silverlight \ v3.0 \ mscorlib.dll] к 'System.Collections.Generic.List [C: \ Program Files \ Reference Ассемблировки \ Microsoft \ Framework \ Silverlight \ v3.0 \ mscorlib.dll]

Какой шаг я пропускаю чтобы эти типы были добавлены в мою среду Silverlight.

Спасибо за любую помощь.

Гэри

ответ

1

Для простых типов, таких как точки и размера вы лучше прокатки своих собственных классов/структур, а не пытаться найти способы ссылок, не Silverlight сборки. Кроме того, вы действительно не хотите, чтобы что-то вроде сборки System.Windows включалось в ваш .xap ради чего-то вроде структуры Point.

+0

Я создал, но когда-структуру я на самом деле нужно использовать систему. Windows.Point в коде. Я получил сообщение об ошибке «не удалось преобразовать <мое пространство имен>. в System.Windows.Point». Я попробовал кастинг, но это тоже не сработало. – gcomstock

+0

На самом деле я только что проверил, и структура Point находится в библиотеках Silverlight, поэтому вам не нужно создавать ее http://msdn.microsoft.com/en-us/library/system.windows.point(VS.95). ASPX. У вас есть привязанность к System.Windows в вашем проекте SL? – sipwiz

0

Фактически вы можете использовать System.Windows.Point. Просто в ваших WS использовать SL длл:

C: \ Program Files \ Reference Сборки \ Microsoft \ Framework \ v3.0 \ WindowsBase.dll