《silverLight开发环境配置.docx》由会员分享,可在线阅读,更多相关《silverLight开发环境配置.docx(8页珍藏版)》请在三一办公上搜索。
1、项目组现在要做一个三维的项目,我们几个里鞋,讨论了 N久,最后决定基于Silverlight 5做3D开发。说到开发,先得搭配环境,Silverlight5微软自家的产品,环境的搭配应该 比较容易,但,事实出乎了我们的意料。昨天爬完几个网站的数据后,我也开始了环境的搭配,虽然出现了 N个错误,总体来说, 在前人摸索的基础上,相对还算比较容易。一、必备条件:1、Visual Studio 2010,这个还是要装的,不然都没IDE环境,开发什么呢?2、Visual Studio 2010 SP1 补丁,必须打,不打 Silverlight 5 不让你装的。3、Silverlight 5 Tools
2、,微软网站有得下载,google 一下 就出来了。打开注册表命令:regedit打开节点:HKEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio10.0SetupVSBuildNumber在此处增加一个字符串值,输入名称为“1033”,设置它的值为“10.0.40219”ok重新运行silverlight5_tools.exe安装即可,安装完毕后,可以考虑删除掉该键值!4、Silverlight Toolkit (December 2011) for Silverlight 5。二、初步折腾记装完了上面的那个4个必需品,你可能就觉得可以用了,但事实会让你
3、哭笑不得,新建 项目,压根就没有Silverlight的模板据充中这到底是怎么回事呢?继续问万能的google,总算找到了下面的方法:1、进入 Silverlight 安装目录(默认路径为:C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/ProjectTemplates/CSharp/Silverlight),然后找到英文语言目 录 1033,在这个目录下有 Silverlight Unit Test Project.zip、Silverlight3dApp.zip、 Silverlight3dLib.zip三个项目模板文件。
4、你比如说,我的是64位系统,那上面那个目录 就是 C:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/ProjectTemplates/CSharp/Silverlight/1033。2、进入VS安装目录中SL的模板路径(默认路径为:C:/ProgramFiles/Microsoft Visual Studio 10.0/Common7/IDE/ProjectTemplates/CSharp/Silverlight/2052),粘贴上面复制 的 Silverlight Unit Test Project.zip、 Si
5、lverlight3dApp.zip、 Silverlight3dLib.zip 三个项目模板文件。我的VS装在D盘,则路径为:D:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/ProjectTemplates/CSharp/Silverlight/2052。3、通过CMD命令行(vista及以上系统,记得要“以管理员身份运行”),进入VS安装 目录(默认路径为:cd C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE), 我的路径为:D:/Progra
6、m Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE。4、执行 devenv /setup 命令。5、执彳亍 devenv /installvstemplates 命令。执行完上面的步骤后,重新打开VS 2010,新建SL项目,你会发现出现了上图中的3 个3D相关的选项。三、再次折腾记但折腾还没有结束,新建项目后,直接报错“创建子项目Silverlight3dAppContent时 遇到问题。无法找到指定的模板。请检查完整路径是否正确。几度崩溃,但我还得待她如初恋这是什么问题赶紧google,又发现了问题, 缺少XNA Game Stud
7、io 4.0,真是伤不起啊,赶紧google下载地址,装上。(微软下载地址: 四、深入折腾记经过上面的折腾,能新建SL的3D项目了,按了下F5,结果又来错误了,Error 1 Compile error -2147024770(0, 0): error : Unknown compile error (check flags against DX version) (myfile.slfx)。我那个昏迷啊!继续google,发现是缺少DirectX的相关运行库(XP可能没有这个问题,Win 7估计会遇到),google,google,救命的大神,她告诉我,需要去 上给下一个 叫directx_
8、Jun2010_redist.exe的安装包,解压,安装下。好吧,照做!编译的错误总 算解决了。本以为能正确出来结果了,但胜利似乎还在彼岸!继续google大神,又来解决方法了。1、在Silverligh七项目属性中,选中“允许在浏览器外运行应用程序“和”在浏览器 内运行时需要提升的信任“,这时项目的Properties目录下将产生对应的 OutOfBrowserSettings.xml 和 InBrowserSettings.xml 两个文件,而后续步骤的设置将改 变这两个文件的内容。2、点击“浏览器外设置”,勾选“使用GPU加速”与“在浏览器之外运行时需要提升 的信任”,以保证使用GPU加
9、速,如果此两项不选,则会出现 RenderModeReason.GPUAccelerationDisabled 的情况。3、现在我们需要将第一步生成的OutOfBrowserSettings.xml和InBrowserSettings.xml两个文件加入到生成的XAP文件内容中,具体做法是在项目中分别 选择两个文件,在其属性中的“生成操作”选择为“内容”。4、最后由于Silverlight 5正式版考虑到客户端环境的差异(包括有无显卡、显卡是否 支持3D加速等多种情况),加入了对浏览器内3D内容的显示权限管理,因此,我们需要根 据客户端实际情况提示使用者打开对本网站的3D显示权限。代码如下(注
10、:最好是添加在 3D 展现的 InitializeComponent();后面):if (GraphicsDeviceManager.Current.RenderMode != RenderMode.Hardware) string message;switch (GraphicsDeviceManager.Current.RenderModeReason) case RenderModeReason.GPUAccelerationDisabled:message =显示异常描述:3D加速被禁用! /n/n解决方法:请联系站长启用本页面的显卡3D加速参 数。;break; case Rende
11、rModeReason.SecurityBlocked:message =显示异常描述:Silverlight默认安全选项阻止了该站点的3D显示! /n/n解决方法: + /n1.在本页面点击鼠标右键;+ /n2 .选择“Silverlight”+ /n3.在弹出的“Microsoft Silverlight配置”对话框中选择权限”选项卡;+ /n4.找到本站点域名后允许3D安全策略;”+ /n5.点击、确认”按钮;”+ /n6.刷新本页面;break;case RenderModeReason.Not3DCapable:message =显示异常描述:没有找到3D显卡! /n/n解决方法:请
12、更换显卡或安装合适的驱动程序。; break; case RenderModeReason.TemporarilyUnavailable:message =显示异常描述:您的显卡暂时无法使用! /n/n解决方法:请重启浏览器后刷新本页面。; break; default:message =显示异常描述:未知错误! ; break; MessageBox.Show(message, 3D 显示异常,MessageBoxButton.OK);5、现在将 Silverlight3dWeb 设置为启动项目,将 Silverlight3dAppTestPage.html 设置为起始页。现在我们再次按下F5进行调试时,将出现旋转的3D立方体(如下图所示)。总结:装到最后,我是很无语了,太麻烦了!不过还好,最终是成功搭建出了环境。下一步得 研究怎么就XNA写代码了,继续苦逼还是无心搞科研啊!烦躁!本文来自吉心的博客,原文地址: