ClassLibrary 上的 Xamarin + VS2017 BreakPoint 不起作用

Xamarin + VS2017 BreakPoint on ClassLibrary not working

我已经阅读了相关问题并尝试了这些解决方案,但没有奏效(比如取消选中 Enable Just My Code 等)。

问题是断点不会在外部 Class 库中停止代码,我分离了我的 UI(包含 App.xaml class 的便携式 Class 库) 和我的 database/models(包含我的对象的便携式 Class 库 + 与数据库相关的 classes),断点在 UI Class 库中工作但不是正在数据库中工作(例如,我放了一个调试日志,它显示在 out put window 中,但它上面的断点不起作用!)

我的代码也能正常工作,但我无法使用断点调试数据库。

终于找到答案了!这是 Visual Studio 2017 年的一种错误。

  • 转到\Microsoft Visual Studio17\Enterprise\MSBuild.0\Microsoft.Common.targets\ImportAfter
  • 打开 Xamarin.Common.targets 文件(使用文本编辑器)
  • 替换此字符串:DependsOnTargets="AssignProjectConfiguration;AllProjectOutputGroups" To DependsOnTargets="AssignProjectConfiguration;_SplitProjectReferencesByFileExistence;AllProjectOutputGroups" 您可以找到有关此错误的信息 here

我的问题是断点在 iOS 项目中被击中但在 PCL 中没有 我能够使用此处描述的解决方法解决此问题: https://bugzilla.xamarin.com/show_bug.cgi?id=56893

在文本编辑器中打开可移植 class 库 .csproj 文件。例如,在解决方案资源管理器中右键单击项目并 select 卸载项目,然后再次右键单击它并 select "Edit ..."。 在 "Debug|AnyCPU" 配置的 PropertyGroup 下,将 DebugType 更改为: 便携式

希望这会有所帮助