因此,我试图从应用程序项目中获取大部分代码并将其放入库项目 (dll) 中以供重用。我已将我的 AppDelegate.cs 类从主应用程序项目中移出并将其放置在库项目中。然后,我更新了 AppDelegate 类上的 Register 属性以反映这一举动。
namespace DLLNamespace
{
[Register ("DLLNamespace.AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
...
}
}
然后在我的 Main.cs 文件中的应用程序项目中,我已更改为以下内容
public class Application
{
static void Main(string[] args)
{
UIApplication.Main(args, null, "DLLNamespace.AppDelegate");
}
}
所有这些在 iOS 模拟器中都很好用,但是当我在 iPhone 5 上调试时,我在 Main 上收到以下错误
Objective-C exception thrown. Name: NSInternalInconsitencyException Reason: Unable to instantiate the UIApplication delegate instance. No class named DLLNamespace.AppDelegate is loaded.
同样,它在 iOS 模拟器中运行良好,我可以单步执行库项目中 AppDelegate 类中的代码,但会在实际设备上运行。