Monotouch - DLL上的缺失方法

Cla*_*dio 1 iphone xamarin.ios

我正在尝试使用Monotouch在.Net中为iPhone创建一个项目.我的问题是:

我有一个由Visual Studio 2010生成的DLL.这个DLL只有一个接口和另外两个类.我可以在Visual Studio中的项目中使用没有问题,但是当我尝试在Monotouch中使用相同的那个时,我遇到了这个错误:

构建:HelloWorld(Debug | iPhoneSimulator)
构建解决方案HelloWorld
构建:HelloWorld(Debug | iPhoneSimulator)
执行主编译...
更新CodeBehind文件
更新了MainWindow.xib.designer.cs
/ Developer/MonoTouch/usr/bin/smcs/noconfig"/out:/Users/claudio/Documents/Development/DotNet/HelloWorld/HelloWorld/bin/iPhoneSimulator/Debug/HelloWorld.exe""/ r:/ Developer/MonoTouch/usr/lib/mono/2.1/System.dll""/ r:/Developer/MonoTouch/usr/lib/mono/2.1/System.Xml.dll""/ r:/ Developer/MonoTouch/usr/lib/mono/2.1/System.Core.dll""/ r:/Developer/MonoTouch/usr/lib/mono/2.1/monotouch.dll""/ r:/Developer/MonoTouch/usr/lib/mono/2.1/System.Runtime. Serialization.dll""/ r:/Developer/MonoTouch/usr/lib/mono/2.1/System.ServiceModel.dll""/ r:/Developer/MonoTouch/usr/lib/mono/2.1/System.ServiceModel.Web. dll""/ r:/Users/cassette/Files/Development/DotNet/Hello World/HelloWorldfull/optimize-/codepage:utf8"/ define:DEBUG"/ t:exe"/Users/claudio/Documents/Development/DotNet/HelloWorld/HelloWorld/MainWindow.xib.designer.cs"
"/Users/claudio/Documents/Development/DotNet/HelloWorld/HelloWorld/Main.cs""/Users/claudio/Documents/Development/DotNet/HelloWorld/HelloWorld/Class1.cs"
程序集中缺少方法.ctor /Users/claudio/Documents/Development/DotNet/HelloWorld/HelloWorld/bin/Abcom.EmailService.ContractsCS.dll,类型System.Runtime.Versioning.TargetFrameworkAttribute类System.Runtime.Versioning.TargetFrameworkAttribute不能在Abcom.EmailService.ContractsCS中使用加载,无法找到自定义attr构造函数图像:/Users/claudio/Documents/Development/DotNet/HelloWorld/HelloWorld/bin/Abcom.EmailService.ContractsCS.dll mtoken:0x0a000001未处理的异常:System.TypeLoadException :无法从程序集"Abcom.EmailService.ContractsCS"加载类型"System.Runtime.Versioning.TargetFrameworkAttribute".at(包装器托管到本机)System.Reflection.Assembly:System.Reflection.Assembly.GetType(System.String name,Internal.SetType(System.Reflection.Module,string,bool,bool)

有人知道这里发生了什么吗?

此致,克劳迪奥

mig*_*aza 5

凯文是对的.

.NET有几个"配置文件",配置文件由它们的锚定"mscorlib.dll"管理.从锚定mscorlib.dll,所有其余的程序集流动.您会注意到,您不应该在4.0系统上混合使用2.0 mscorlib编译的程序集,或者反过来(它们可能有效,但不保证可以正常工作).

因此,通常,您需要使用相同的程序集编译代码.使用4.0 mscorlib时,使用4.0系列程序集; 使用2.0,3.5和3.5sp1时,使用2.0 mscorlib; 使用Silverlight时,使用Silverlight 2.1 mscorlib API集.

MonoTouch引入了自己的锚定mscorlib,版本为2.1.0.0(与Silverlight相同),从这个程序集开始,我们的API流程.

这就是为什么你需要使用Mono的程序集为2.1.0.0配置文件重建库.