Как развернуть веб-приложение 3D Silverlight 5 на стороннем хостинг-сервере? - PullRequest
3 голосов
/ 03 января 2012

Что я хочу сделать

Я играл с недавно выпущенными Silverlight 5 и Silverlight 5 Toolkit (декабрь 2011 г.), и я хотел бы попробовать развернуть мое тестовое приложение 3D Silverlight на стороннем хостинг-сервере ( AppHarbor в моем случае, но я открыт для других вариантов).

Мое тестовое приложение - это просто приложение Silverlight 3D по умолчанию, которое вы получаете при создании нового приложения Silverlight 3D:

Похоже, что AppHarbor (и большинство других хостинговых сайтов) требуют, чтобы вы скопировали необходимые библиотеки Silverlight 5 в ваш проект, поскольку на их серверах не установлены необходимые SDK / Toolkits.

Теоретически выглядит нормально, но я понятия не имею, как на самом деле сделать это с Silverlight.

проблема

Проблема двоякая:

  1. Я не уверен, какие именно библиотеки DLL нужно вручную скопировать в мой проект, и я не уверен, как на них следует ссылаться.

  2. После некоторых экспериментов с копированием нескольких DLL-файлов Silverlight XNA в мой проект и обращением к локальным DLL-файлам проекта (вместо DLL-файлов, установленных с SDK и Toolkit), основное приложение 3D Silverlight теперь падает, когда я запустите его в браузере - локально . (Плагин Silverlight дает сбой.) У меня не было этой проблемы до того, как я начал возиться со ссылками и библиотеками DLL; проект по умолчанию работает просто отлично. Так что я даже не дошел до развертывания на хост-сервере, потому что он больше не работает локально.

В стороне

В последнем пункте выше (сбой плагина Silverlight) проблема, похоже, связана с функциональностью 3D Silverlight, которая, очевидно, требует повышенного доверия / разрешений - правда, я не совсем понимаю, как пока что все работает.

Вообще говоря - независимо от всей этой путаницы с DLL / ссылками - мне кажется, мне нужно проверить «Требовать повышенное доверие при запуске в браузере» в свойствах проекта Silverlight3dApp, чтобы приложение вращающегося 3D-куба отображалось в браузере. В качестве альтернативы, если я оставлю этот флажок пустым, мне нужно вручную щелкнуть правой кнопкой мыши приложение Silverlight 5 в браузере и включить трехмерную графику на вкладке «Разрешения». (Примечание: мне интересно, как это повлияет на моих конечных пользователей, если я когда-либо разверну это развертывание. Им придется вручную настраивать разрешения таким же образом? В любом случае, это вопрос для другого дня.)

Смысл этого в стороне:

  1. Плагин Silverlight не вылетает , если я оставлю все как есть по умолчанию.
  2. Если я копирую библиотеки Silverlight в свой проект и ссылаюсь на них локально, плагин Silverlight аварийно завершает работу, если разрешения 3D включены .
  3. Если я скопирую библиотеки Silverlight в свой проект и сослаться на них локально, плагин Silverlight не вылетит , если разрешения 3D отключены .

Вопрос

Кто-нибудь успешно развернул это базовое приложение Silverlight 5 3D на сервере без установленного Silverlight 5 (и набора инструментов Silverlight 5)?

Как ты это сделал? Какие файлы нужно скопировать в мой проект и ссылаться на них локально? Какие ссылки (если есть) нужно удалить?

Подвопрос: Если у кого-нибудь есть какие-либо идеи по поводу вопроса о повышенном доверии / разрешениях, я бы тоже хотел их услышать.

Ответы [ 3 ]

5 голосов
/ 04 января 2012

Для AppHarbor я создаю папку в проекте Silverlight (lib) и копирую все сборки, от которых я зависим, и помечаю все сборки как , копирую в вывод .

Далее я использую subst для создания виртуального диска, который указывает на эту папку, и добавляю все ссылки на сборки на этом виртуальном диске. (Это не нужно для AppHarbor, но таким образом я могу проверить свой код в любой папке на любой машине, которую я хочу, не путая пути)

Обратите внимание, что вам также нужно добавить эти dll в репозиторий (git / mercurial), потому что стандартный файл .hgignore пропускает файлы * .dll.

0 голосов
/ 06 января 2012

Хм ... Я пойду с ответом выше. Я использую последнюю версию Silverlight 5 Runtime и Silverlight 5 Toolkit, и у меня не было никаких проблем. Вот приложение, в которое я загружаю и анимирую модель FBX в Silverlight (для этого нужно щелкнуть правой кнопкой мыши и установить разрешения), и оно отлично работает:

http://www.dustinhorne.com/necodecamp.html

Кроме того, я борюсь с тем, стоит ли работать с повышенным доверием или заставлять пользователя разрешать 3D-ускорение. Лично я не хочу, чтобы все приложение повышало доверие только к 3D-материалам с точки зрения безопасности, хотя, если вы хотите запустить его из браузера, вы можете сделать это в любом случае и подписать приложение сертификатом для подписи кода.

0 голосов
/ 04 января 2012

Подтвердили ли вы, что используете последнюю версию Silverlight? У вас была установлена ​​предыдущая среда разработки? http://www.microsoft.com/getsilverlight/get-started/install/

...