Здесь может быть одна из нескольких проблем.
Во-первых, да, вы можете встроить Silverlight в HTML.Если вы создадите веб-проект при создании проекта Silverlight, вы получите две тестовые страницы, одну .aspx, другую .html.Выглядит это так (ну, есть еще какой-то скрипт):
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightApplication1.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40818.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
Во-вторых, ваше приложение Silverlight должно действительно находиться на том же сервере, что и ваш веб-сайт.Если вы переместите его в ClientBin
(например), то оно должно работать.Хотя этот поток , кажется, указывает, что, пока ваш сервер может видеть файл XAP, он должен работать. В этой теме указано, что вам нужно отредактировать файл AppManifest.xml
, добавив следующее:
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
ExternalCallersFromCrossDomain="ScriptableOnly">
ПРИМЕЧАНИЕ. Я не пробовал ни один из них.
В-третьих, вам нужно убедиться, что установлена среда выполнения клиента Silverlight.