Visual studio 如何(实际)在MonoTouch中重用现有的.NET库

Visual studio 如何(实际)在MonoTouch中重用现有的.NET库,visual-studio,xamarin.ios,code-reuse,csproj,Visual Studio,Xamarin.ios,Code Reuse,Csproj,假设我在VisualStudio2010中构建了一个现有的.NET程序集,该程序集在其他一些Winforms产品中使用。它没有第三方依赖关系 我想在MonoTouch解决方案中直接重用该库 目前,为了能够从MonoTouch UI项目中添加对我的库的引用,我必须创建一个新的csproj文件,并创建指向其中所有源文件的链接 这是可行的,但也是维护负担。一定有更好的办法吗 提前感谢。从今天起,您需要重新生成程序集。这是因为它们将链接到Silverlight附带的基类库(BCL)的超集monotouc

假设我在VisualStudio2010中构建了一个现有的.NET程序集,该程序集在其他一些Winforms产品中使用。它没有第三方依赖关系

我想在MonoTouch解决方案中直接重用该库

目前,为了能够从MonoTouch UI项目中添加对我的库的引用,我必须创建一个新的csproj文件,并创建指向其中所有源文件的链接

这是可行的,但也是维护负担。一定有更好的办法吗


提前感谢。

从今天起,您需要重新生成程序集。这是因为它们将链接到Silverlight附带的基类库(BCL)的超集monotouch BCL(例如,一个不同的mscorlib.dll)

希望新版本的MonoTouch(以及Mono,Android版的Mono…)能够支持新的“便携库”,这将使跨框架共享编译的二进制文件变得更加容易


信不信由你,只要你的共享程序集没有引用任何其他会使它与monotouch不兼容的程序集,你实际上可以引用VS.NET中内置的.dll库。我目前正在我们的项目上做这件事。被引用的.dll只依赖于
System
System.Core
,它基本上只是一组POCO。我相信有更好的知识的人可以确切地告诉您如何使.dll不兼容。即使在
System
System.Core
中使用不兼容的API调用,也可能会按照poupou的回答破坏它,但如果您保持共享.dll非常简单,它应该可以工作。

是的,重建我能理解的程序集,这不是问题。在这种情况下,我想我可能更希望MonoDevelop变得更聪明一些。谢谢你的回答。引用DLL是一回事,但我不能将项目引用添加到库项目,因为目标框架版本有问题。这就是我真正想做的…是的,很抱歉。你能做的最好的就是你已经在做的事情。创建新项目并添加文件链接。