Как перейти с WCF RIA Service 1.0 на SP2 - Silverlight и Entity Framework - PullRequest
0 голосов
/ 15 марта 2012

Может ли кто-нибудь предоставить пошаговое руководство по обновлению решения VS2010 с RIA Services 1.0 + Silverlight 4 до RIA Services 1.0 SP2 + Silverlight 5?

Мое решение настроено обычным образом:

  1. MyApp.Web - проект сервера ASP.NET (структура сущностей здесь)
  2. MyApp - клиентский проект Silverlight (RIA Services «связывает» это с MyApp.Web)

Вот что у меня есть:

  1. Удаление WCF RIA Services Toolkit и WCF RIA Services V1.0 для VS2010
  2. Установка VS2010 SP1
  3. Установить Entity Framework 4.1
  4. Установка инструментов Silverlight 5 (содержит RIA Services 1.0 SP2)

Вот где я потерялся. Что мне делать дальше? В частности:

  1. Какие ссылки на проекты мне нужно удалить / добавить из моих клиентских и серверных проектов?
    1. для перехода с Entity Framework 4.0 на 4.1
    2. чтобы перейти от RIA Services 1.0 к RIA Services 1.0 SP2
    3. перейти с Silverlight 4 на 5
  2. Что-то еще мне не хватает?
  3. Что мне нужно сделать на моем производственном сервере (под управлением Win XP), на котором развернуто мое решение?
    1. Я помню установку .NET Framework 4.0 и распространяемых RIA Services (некоторое время назад)

Спасибо заранее.

1 Ответ

1 голос
/ 15 марта 2012

1.1 Когда я запускаю новый проект и добавляю модель данных объекта ADO.NET, он автоматически добавляет следующие сборки:

System.Data.Entity
System.Runtime.Serialization
System.Security

Поэтому я бы удалил их из Проекта и добавил их снова, чтобы убедиться, что используется самая высокая версия.

1.2 На вашем компьютере может быть только одна версия Ria. Таким образом, ваш проект автоматически использует последнюю установленную версию.

1.3 Перейдите на страницу свойств вашего проекта Silverlight и откройте вкладку «Silverlight». Измените версию на Silverlight 5 в Target Silverlight Version: Важное примечание. Если у вас большой проект, его выполнение займет ОЧЕНЬ ОЧЕНЬ долго. Сделай себе кофе и подожди. Пользовательский интерфейс может перестать отвечать при его изменении, однако не трогайте его. Даже когда вы теряете терпение. Если вы прервете, возможно, в вашем файле .csproject останутся ошибки.

Первый пункт 3. Установите инструменты Silverlight 5 также на свой сервер вместе с Entity FrameWork 4.1, поэтому не будет иметь значения, если вы забудете установить Copy Local в True для новой сборки Silverlight. (Это означает, что вам не придется повторно публиковать, если вы забыли.)

Пункт 2. Убедитесь, что ваш проект работает с новыми установленными версиями, проверив / выполнив следующие действия: - Удалите папки bin и obj в обоих проектах.
- Удалите скрытую папку GenerateCode в своем проекте Silverlight.
- Убедитесь, что ваши собственные сборки также нацелены на Silverlight 5.
- После ReBuilding, когда я делаю все это, я бы сделал что-то странное, но оказалось, что оно решает глупые ошибки: На странице свойств вашего проекта Silverlight отключите WCF Ria Services link, установив для него значение <No Project Set> Создайте свой проект (в результате чего много ошибок, я знаю) переключи ссылку обратно и пересобери. Помните, что Ria поддерживает сериализацию сложных объектов начиная с SP1, которую они хотели видеть в первой версии, но не смогли закончить ее вовремя. Это может вызвать головную боль, если вы включили сборки в клиент Silverlight, который включает типы объектов, также существующие на стороне сервера.

Удачи, и если у вас возникнут проблемы, просто спросите.

...