我们编写了一个小的Windows类库,为一些标准types(string最初)实现了扩展方法。 我把它放在一个库中,以便我们的任何项目都可以通过简单地引用它并添加使用XXX.Extensions来使用它。
当我们想在Silverlight中使用这些方法时出现了一个问题。 尽pipe所有的代码都是兼容的,但Silverlight中不能引用Windows库,所以我们创build了一个Silverlight库,它链接到相同的类文件,并将编译器指令放入类中,以允许使用不同的声明和名称空间。 这工作得很好,直到今天,当我添加一个新的类到Windows扩展库,并意识到我将不得不记得将类连接到Silverlight库。
这是不理想的,我想知道是否有人有更好的方式共享Windows和Silverlight项目之间的扩展方法和其他帮助代码的想法。
可移植的方式在不同的进程之间传递文件描述符
DLL与不同的会话,服务和用户会话共享内存问题
Windows服务不能识别networkingpath。 什么是解决方法?
在同一个程序中使用Linux C ++共享和静态库
如何获得共享stream量数据
在窗口中查找内存映射对象的列表
Windows文件共享:为什么有时新创build的文件在一段时间内不可见?
使用SAPI创build个人语音识别系统
在完成ReportCompleted后分享目标合约
在Windows 8中使用什么版本的RDP?
您不能将Silverlight程序集的引用设置为常规的.NET程序集,但是您可以这样做。
因此,创建一个共享的Silverlight程序集并将您的代码添加到该程序集。 现在,您可以将常规.NET和其他Silverlight程序集的引用设置为共享的Silverlight程序集。
限制是你只能将代码放在.NET和Silverlight CLR上,但这与共享代码没有区别。
由于这个问题已经得到解答,所以有一个来自Microsoft的便携式类库的新解决方案。 这是他们宣布的博客文章。
我正要开始与他们共享代码,以便在Silverlight和我写的一些服务器端代码之间共享代码,所以现在不能添加太多链接。
Silverlight运行时不同于普通的.NET运行时。 所以你需要在项目层面做一些技巧来在多个平台之间共享代码。
以下是我为Autofac IoC容器所做的工作 。
通过这种方法, 您不必为每个目标平台创建不同的项目 。
PS:还有一个来自Composite WPF的Project Linker工具,它允许链接Silverlight和WPF项目(创建多个项目)。 但是看起来很乱。
XNA项目也有类似的问题。 既然你可以瞄准几个不同的平台,你需要有不同的项目。 原因是因为项目引用的基类库是平台特定的,所以你不能只有一个项目。
如果您好奇,可以从这个博客中了解一些情况 :
要重新编译另一个平台的源代码,您需要另一个项目。 原因是因为项目需要引用XNA Framework和底层.NET Framework(XBox 360和Zune使用.NET Compact Framework)的不同程序集,而C#项目不提供引用不同程序集的支持不同的平台。
试试这个http://buildassilverlight.codeplex.com/
在.Net中引用Silverlight类库时,我遇到了一些依赖关系问题。
使用Visual Studio 2010和WCF RIA 1.0时的另一种方法:
创建一个正常的.Net库程序集。
创建一个Silverlight类库。 在程序集的配置中,将第一个.NET库指定为“WCF RIA服务链接”
把你的代码放在.NET库中作为“ClassName.shared.cs”文件。
WCF RIA将处理将文件复制到Silverlight程序集。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。