假设我已经在Visual Studio 2010中构建了一个现有的.NET程序集,该程序集在其他一些Winforms产品中使用。它没有第三方依赖。
我想直接在MonoTouch解决方案中重用该库。
就目前而言,为了能够在我的MonoTouch UI项目中添加对我的库的引用,我必须创建一个新的csproj文件并创建指向其中所有源文件的链接。
这可行,但是维护负担。必须有更好的方法吗?
提前致谢。
答案 0 :(得分:6)
截至今天,您需要重建程序集。这是因为它们将链接到monotouch BCL(例如,一个不同的mscorlib.dll),它是Silverlight附带的基类库(BCL)的超集。
希望MonoTouch的更新版本(以及Mono,Mono for Android ...)将支持新的“可移植库”,这样可以更轻松地跨框架共享已编译的二进制文件。
答案 1 :(得分:2)
信不信由你,你实际上可以引用VS.NET中构建的.dll lib,只要你的共享程序集没有引用任何其它会使它与monotouch不兼容的程序集。我目前正在我们的项目上这样做。引用的.dll只依赖于System
和System.Core
,它基本上只是一组POCO。我确信知识渊博的人可以准确地告诉你如何使.dll不兼容。即使在System
或System.Core
内使用不兼容的API调用,也可能会因为poupou的回答而破坏它,但如果你保持共享的.dll简单,它应该可以正常工作。