Xamarin.Android 应用仅在干净编译时找到启动器 activity

Xamarin.Android app only finding launcher activity on clean compile

我有一个 Xamarin.Android,其中 activity 标记为名为 Login 的 MainLauncher。

当我第一次按 F5 时,应用程序在模拟器中正常启动。然后我停下来,做一些代码更改,再次按 F5 我可以看到应用程序在模拟器中启动,当我得到这个时它 UI 开始显示:

Java.Lang.RuntimeException: Unable to instantiate activity ComponentInfo{MyApp.MyApp/md5b14ee1c038eed1ee5328e926d768294f.Login}: java.lang.ClassNotFoundException: Didn't find class "md5b14ee1c038eed1ee5328e926d768294f.Login" on path: DexPathList[[zip file "/data/app/MyApp.MyApp-1/base.apk"],nativeLibraryDirectories=[/data/app/MyApp.MyApp-1/lib/x86, /vendor/lib, /system/lib]]

然后我将在所有尝试启动它时收到此错误。唯一的解决办法是删除 bin 和 obj 文件夹,然后再次按 F5。之后,应用程序通常会在我必须再次删除文件夹之前启动一次。

此问题已修复,将包含在 Visual Studio 15.5.5Visual Studio 15.6 Preview 3 中。

包含此修复的相应 Xamarin.Android 版本是 Xamarin.Android 8.1.5.0 (Stable)Xamarin.Android 8.2.0.6 (Preview)

请留意此版本,因为它很快就会可用!

(如果您今天需要解决方法,请按照此处的步骤操作:https://bugzilla.xamarin.com/show_bug.cgi?id=61073#c40