当我开始调试Xamarin Android应用程序时,为什么我不能达到断点?

Sim*_*der 5 debugging android xamarin visual-studio-2013

当我开始调试我的第一个XamarinAndroid应用程序时,我设置了一些断点.无论我做什么,它仍然不会到达断点.这有什么问题?

我已经尝试了很多次,但它没有帮助.

小智 4

我发现包含项目的文件夹的名称会产生影响。您的内容中有空格或标点符号吗?

文件夹名称通常与项目名称相同,但并非必须如此。我在解决方案中有一个名为“Engagement (Android)”的 Xamarin Android 项目,默认情况下它存储在磁盘上的 ...\Engagement (Android)\Engagement (Android).csproj

无论我做什么,都不会遇到断点。我添加的全新项目(称为 Test1、Test2 等)- 调试完美。

当我将文件夹名称更改为“Engagement_Android”(保持相同的项目名称)时,它再次开始遇到断点。

随之而来的其他症状包括“清理项目”选项未清除 bin/debug 文件夹中的所有文件(它留下了项目的主 DLL 和 PDB 文件)。

对我来说最重要的是,当我进行干净的构建时,bin/debug 文件夹不包含主 exe 的“MDB”文件(在本例中为 Engagement Android.dll.mdb),因此没有被打包成APK文件。

事实证明,MDB 文件是将调试信息打包到 APK 中的方式 - 没有它,您将无法调试!我认为它们是在构建过程中由名为 PDB2MDB.exe 的工具创建的。

如果您尝试这样做,请记住重要的是物理文件夹名称而不是项目名称。此外,您还需要编辑 SLN 文件,因为它包含对解决方案中每个项目的路径的引用 - 因此也要在那里进行更改。