Что я хочу сделать
Я играл с недавно выпущенными Silverlight 5 и Silverlight 5 Toolkit (декабрь 2011 г.), и я хотел бы попробовать развернуть мое тестовое приложение 3D Silverlight на стороннем хостинг-сервере ( AppHarbor в моем случае, но я открыт для других вариантов).
Мое тестовое приложение - это просто приложение Silverlight 3D по умолчанию, которое вы получаете при создании нового приложения Silverlight 3D:
Похоже, что AppHarbor (и большинство других хостинговых сайтов) требуют, чтобы вы скопировали необходимые библиотеки Silverlight 5 в ваш проект, поскольку на их серверах не установлены необходимые SDK / Toolkits.
Теоретически выглядит нормально, но я понятия не имею, как на самом деле сделать это с Silverlight.
проблема
Проблема двоякая:
Я не уверен, какие именно библиотеки DLL нужно вручную скопировать в мой проект, и я не уверен, как на них следует ссылаться.
После некоторых экспериментов с копированием нескольких DLL-файлов Silverlight XNA в мой проект и обращением к локальным DLL-файлам проекта (вместо DLL-файлов, установленных с SDK и Toolkit), основное приложение 3D Silverlight теперь падает, когда я запустите его в браузере - локально . (Плагин Silverlight дает сбой.) У меня не было этой проблемы до того, как я начал возиться со ссылками и библиотеками DLL; проект по умолчанию работает просто отлично. Так что я даже не дошел до развертывания на хост-сервере, потому что он больше не работает локально.
В стороне
В последнем пункте выше (сбой плагина Silverlight) проблема, похоже, связана с функциональностью 3D Silverlight, которая, очевидно, требует повышенного доверия / разрешений - правда, я не совсем понимаю, как пока что все работает.
Вообще говоря - независимо от всей этой путаницы с DLL / ссылками - мне кажется, мне нужно проверить «Требовать повышенное доверие при запуске в браузере» в свойствах проекта Silverlight3dApp, чтобы приложение вращающегося 3D-куба отображалось в браузере. В качестве альтернативы, если я оставлю этот флажок пустым, мне нужно вручную щелкнуть правой кнопкой мыши приложение Silverlight 5 в браузере и включить трехмерную графику на вкладке «Разрешения». (Примечание: мне интересно, как это повлияет на моих конечных пользователей, если я когда-либо разверну это развертывание. Им придется вручную настраивать разрешения таким же образом? В любом случае, это вопрос для другого дня.)
Смысл этого в стороне:
- Плагин Silverlight не вылетает , если я оставлю все как есть по умолчанию.
- Если я копирую библиотеки Silverlight в свой проект и ссылаюсь на них локально, плагин Silverlight аварийно завершает работу, если разрешения 3D включены .
- Если я скопирую библиотеки Silverlight в свой проект и сослаться на них локально, плагин Silverlight не вылетит , если разрешения 3D отключены .
Вопрос
Кто-нибудь успешно развернул это базовое приложение Silverlight 5 3D на сервере без установленного Silverlight 5 (и набора инструментов Silverlight 5)?
Как ты это сделал? Какие файлы нужно скопировать в мой проект и ссылаться на них локально? Какие ссылки (если есть) нужно удалить?
Подвопрос: Если у кого-нибудь есть какие-либо идеи по поводу вопроса о повышенном доверии / разрешениях, я бы тоже хотел их услышать.