C# 使用当前.NET项目的Silverlight

C# 使用当前.NET项目的Silverlight,c#,asp.net,silverlight,C#,Asp.net,Silverlight,解决方案中的Silverlight项目是否可以在其他.NET项目中使用方法、对象和其他不使用的内容 @谢谢大家的回复。在我看来,我的解决方案是在.NET解决方案中有一个项目,它侦听某个端口并基于输入发送一个XML对象。并且有一个单独的Silverlight项目将查询发送到前面提到的.NET解决方案端口 你认为不需要太多的开销就可以吗?我甚至不知道您可以与Silverlight建立连接…不,因为Silverlight代码是在用户浏览器内的安全运行时环境中执行的,因此出于安全原因禁用了一些常规的.N

解决方案中的Silverlight项目是否可以在其他.NET项目中使用方法、对象和其他不使用的内容

@谢谢大家的回复。在我看来,我的解决方案是在.NET解决方案中有一个项目,它侦听某个端口并基于输入发送一个XML对象。并且有一个单独的Silverlight项目将查询发送到前面提到的.NET解决方案端口


你认为不需要太多的开销就可以吗?我甚至不知道您可以与Silverlight建立连接…

不,因为Silverlight代码是在用户浏览器内的安全运行时环境中执行的,因此出于安全原因禁用了一些常规的.NET功能,例如COM Interop(访问Windows库的一种方式)


如果您的Silverlight代码需要访问本地资源(通过Windows API公开),则需要创建一个Active X控件(用于Internet Explorer,其他浏览器存在其他方法),该语言是用C++编写的,并且可以访问用户计算机上的所有资源。然后,您可以使用Javascript(从Silverlight调用)从Silverlight控件与Active-X控件进行交互。

否,因为Silverlight代码是在用户浏览器内的安全运行时环境中执行的,一些常规的.NET功能,如COM Interop(访问Windows库的一种方式)由于安全原因而禁用


如果您的Silverlight代码需要访问本地资源(通过Windows API公开),则需要创建一个Active X控件(用于Internet Explorer,其他浏览器存在其他方法),该语言是用C++编写的,并且可以访问用户计算机上的所有资源。然后,您可以使用Javascript(从Silverlight调用)从Silverlight控件与Active-X控件进行交互。

下面是一些跨Silverlight/库重用代码(而不是二进制文件)的方法:

  • 您可以使用添加现有文件“添加为链接”选项将源代码文件引入Silverlight(假设
    using
    语句兼容)
  • 您可以使用服务库在服务器库(标准的.NET库)和Silverlight客户端之间共享代码。除了自动生成的RIA数据,还有一个功能,您只需将文件命名为
    随便什么。***shared***.cs
    ,它将被复制到匹配的客户端库中

不幸的是,您不能只链接非Silverlight二进制文件,因为它使用自己的.NET版本。

我想这里有一些方法可以跨Silverlight/库重用代码(而不是二进制文件):

  • 您可以使用添加现有文件“添加为链接”选项将源代码文件引入Silverlight(假设
    using
    语句兼容)
  • 您可以使用服务库在服务器库(标准的.NET库)和Silverlight客户端之间共享代码。除了自动生成的RIA数据,还有一个功能,您只需将文件命名为
    随便什么。***shared***.cs
    ,它将被复制到匹配的客户端库中

不幸的是,您不能只链接非Silverlight二进制文件,因为它使用自己的.NET版本。

使用Visual Studio手动维护多个项目中文件之间的链接是可能的,但这可能会很耗时且容易出错。因此,WPF和Silverlight的复合应用程序指南提供了项目链接器工具。


使用Visual Studio手动维护多个项目中的文件之间的链接是可能的,但这可能非常耗时且容易出错。因此,WPF和Silverlight的复合应用程序指南提供了项目链接器工具。


@Angel:他问的是Silverlight与.Net互操作的问题。@Angel:他问的是Silverlight与.Net互操作的问题。+1,但是我必须问一下,如果XAP xan持有托管DLL包,我们是否可以在完全受信任的区域(假设我们在Intranet上)专门运行其“安装程序”?就像我们可以为XBAPs?+1这样做一样,但是我必须问,如果XAP xan持有托管DLL包,我们是否可以在完全受信任的区域(假设我们在Intranet上)专门运行它的“设置”?就像我们可以为XBAPs这样做一样?这是否适用于已经开发的.net项目?似乎需要在开发人员使用之前设置链接器。这与上面的链接相同
。当前,项目链接器可以处理您想要的任何项目类型。请记住,允许在不兼容的项目之间进行链接,例如工作流项目和Silverlight项目之间,但这可能会导致编译错误。
这是否适用于已开发的.net项目?似乎需要在开发人员使用之前设置链接器。这与上面的链接相同
。当前,项目链接器可以处理您想要的任何项目类型。请记住,允许在不兼容的项目之间进行链接,例如工作流项目和Silverlight项目之间,但这可能会导致编译错误。