Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 沙箱中的Silverlight?_.net_Silverlight - Fatal编程技术网

.net 沙箱中的Silverlight?

.net 沙箱中的Silverlight?,.net,silverlight,.net,Silverlight,我想使用Silverlight的CLR而不是.NET CLR。出于这些原因,至少: 跨平台能力 我需要为我的.NET编写的插件避免任何兼容性问题。进程只能承载唯一的.NET CLR,当针对不同CLR版本的多个插件位于同一进程中时,这将成为一个巨大的痛苦。Silverlight CLR没有这样的限制 Silverlight支持小型部署(仅CLR核心和必要的程序集) 问题是Silverlight CLR始终是沙盒。有没有办法让Silverlight应用程序脱离沙箱 Silverlight类库包含一些

我想使用Silverlight的CLR而不是.NET CLR。出于这些原因,至少:

  • 跨平台能力
  • 我需要为我的.NET编写的插件避免任何兼容性问题。进程只能承载唯一的.NET CLR,当针对不同CLR版本的多个插件位于同一进程中时,这将成为一个巨大的痛苦。Silverlight CLR没有这样的限制
  • Silverlight支持小型部署(仅CLR核心和必要的程序集)
  • 问题是Silverlight CLR始终是沙盒。有没有办法让Silverlight应用程序脱离沙箱

    Silverlight类库包含一些无法从沙盒应用程序调用的方法-因此,我假设有某种方法可以让应用程序取消沙盒?或者他们只是在从.NET移植类库时忘记删除这些方法


    UPD:我有个主意。至少,Silverlight类库程序集可以调用任何(不安全的)代码。有没有办法假装我的程序集是类库的一部分?

    没有。

    我认为没有办法让silverlight运行时在安全“沙盒”之外运行

    作为安慰,您可以创建在浏览器之外运行的silverlight应用程序,这样它们至少感觉像是桌面应用程序

    如果这有帮助,您可以在此处了解更多信息:

    更新:这是微软Silverlight官方网站上的一段视频

    实际上,网上有很多很棒的教程等


    除了我推荐的和官方Silverlight的公告外,

    我们考虑过这样的项目:使用Mozilla的XUL Runter作为一个可以托管Silverlight的浏览器容器,XUL有很多API,如果它有足够的权限执行,浏览器和Silverlight代码就可以使用。它的小技巧是在XUL的API和浏览器主机之间建立一个javascript桥梁,以提供silverlight无法使用的所有API

    我们暂停了这个项目,因为微软没有真正为其他平台提供silverlight支持,而且目前微软只为基于英特尔的windows和mac提供silverlight,这对于真正实现系统独立几乎没有任何用处。微软并不打算让它真正独立于系统,所以我们继续使用AdobeAIR


    但你可以尝试在XUL中托管silverlight,这样XUL就可以在所有平台上使用,明天mono稳定后,你当然可以把它作为一个好的平台使用。但是速度非常慢。还有一些非常糟糕的线程问题。

    有关于这个主题的官方信息吗?刚刚在silverlight.net网站上添加了一个链接,这是一个官方功能,因此您可以在那里找到更多信息。我建议您重新考虑一下这样做的原因。1) Silverlight,使用Moonlight就像.NETCLR与Mono合作时一样跨平台。2) 我也不确定这是否正确。Net GAC负责为不同版本的.Net Framework提供不同版本的插件。这应该没有问题。3) 我假设用户不能在其机器上安装.Net framework,但是如果不使用该工具或鼓励升级,您将由于沙盒限制您可以访问的功能。如果不确定,请不要回答。有一个问题。如果您的问题只是能否让任何Silverlight应用程序在安全沙箱之外正常执行,那么答案是否定的——下面已经给出了答案。