我想在不同的项目中组织我的 MonoTouch 解决方案,以更好地分离图层。
当我添加项目引用时,出现以下错误:
如果我尝试引用的不是项目而是编译的 dll,它会编译并使用模拟器工作(!?)
但是当我打开我的 bundle test.app文件时,我看到了以下别名:
我希望看到刚刚编译的捆绑文件,但我看到了原始的 dll 文件,它们也被链接了!
问题是这样的:如果我编译我的项目引用 dll 文件,它会在真实设备上工作吗?使用这种策略可能有什么问题吗?
谢谢
我想在不同的项目中组织我的 MonoTouch 解决方案,以更好地分离图层。
当我添加项目引用时,出现以下错误:
如果我尝试引用的不是项目而是编译的 dll,它会编译并使用模拟器工作(!?)
但是当我打开我的 bundle test.app文件时,我看到了以下别名:
我希望看到刚刚编译的捆绑文件,但我看到了原始的 dll 文件,它们也被链接了!
问题是这样的:如果我编译我的项目引用 dll 文件,它会在真实设备上工作吗?使用这种策略可能有什么问题吗?
谢谢
捆绑包中包含的 dll 文件只是用于反射的 XML 存根。这对于 Xamarin.iOS (MonoTouch) 是正常的,不会影响您分发应用程序的能力。
您看到的项目引用的问题是您的项目是一个 .Net 4.0 项目。它需要是 Xamarin.iOS 库项目,因为 MonoTouch 是 .Net 4.0 的子集。
虽然直接引用 dll 可能有效,但不建议这样做,因为如果您调用引用缺失类型或方法的方法,它可能会在运行时崩溃。
Xamarin 正在努力支持 PCL 以便于项目共享,但目前使用 iOS 库项目。