【发布时间】:2012-01-27 17:59:28
【问题描述】:
您能否在 Full.NET、WindowsPhone、Silverlight、MonoTouch、MonoDroid 之间共享 .NET DLL(使用 Visual Studio 以 VB.NET 编写)。 (未来还有 WinRT)
这可能吗?
我不打算分享 UI 代码,主要是模型,但可能还有一些 ViewModel(即使用 MVVM)
我想知道使用可移植 DLL 是否可行? 见http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981/
更多详情: 这不是我今天需要的东西。 我正在考虑为 .NET 4 重新构建用 VB.NET 编写的现有项目。这将在明年左右进行。只是想知道 Mono* 设备是否能够播放......
谢谢, 迈克·G
【问题讨论】:
-
Monotouch 编译为原生 ARM 代码并且不使用 CLR,因此它不能使用 .NET DLL。如果可以使用源代码...取决于您调用的 API。
-
@AnthonyLambert 最终的设备本机代码将是 ARM 二进制文件。所有其他步骤(和模拟器)都使用 .NET 程序集。事实上,即使是最终代码(一个设备)也会获得 .NET 程序集(但没有 IL),因为可以在元数据上使用反射,并且每个 MonoTouch 应用程序内部链接的运行时 (CLR) 都支持这一点。
-
部分问题是 .NET DLL 是否可以在 MonoTouch 上使用。答案是否定的——你需要重新编译它们。与 Mac 上的 Mono 不同,例如我使用在 Win 上编译的 .NET DLL 而不重新编译它们。
-
感谢 anothony,这是我正在寻找的信息,很遗憾您没有将其作为“答案”(我无法点击接受评论!)
-
感谢大家的帮助!
标签: .net mvvm xamarin.ios xamarin.android