您能否在 Full.NET、WindowsPhone、Silverlight、MonoTouch、MonoDroid 之间共享 .NET DLL(使用 Visual Studio 以 VB.NET 编写)。 ( future 还有 WinRT)
这可能吗?
我不想分享 UI 代码,主要是模型,但也可能是一些 ViewModel(即使用 MVVM)
我想知道使用可移植 DLL 是否可行?
见 http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981/
更多细节:
这不是我今天需要的东西。
我正在考虑为 .NET 4 重新构建用 VB.NET 编写的现有项目。这将在明年左右进行。只是想知道 Mono* 设备是否能够播放......
谢谢,
迈克·G
最佳答案
使用常规 .NET 程序集:是和否的组合。广泛地说,是的。但实际上,由于每个平台的限制,通常需要进行特定于平台的更改,这将阻止它运行程序集。 IDE 也不喜欢某些引用组合。 monodevelop IDE 在接受哪些程序集方面更宽松。
重新处理不起作用的事情;可能是一些愚蠢的事情,例如 Trace.WriteLine(...)
存在,或者(最近在“unity”上,Interlocked
),或者它可能是平台限制(例如,你不能在 iOS 上做那么多的元编程)。
WinRT 为破坏事物设立了一个新的“标准”,整个过程发生了根本性的变化(诸如 Type
之类的基本原理已经发生了巨大变化)。
我的建议:按平台构建;否则,您将自己限制在最小公分母上,这不是可选的。利用每个平台上存在的内容,并在不存在时使用后备。
关于.net - MonoTouch 和 MonoDroid 中的 PortableDLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9031082/