我最近升级到了新的 Xamarin for Visual Studio,从那时起,我在 IOS 调试过程中不再能够命中断点。 Android 运行得很好,奇怪的是。
我卸载并重新安装了 Visual Studio Community Edition 2017,并保留了所有默认设置。以前,这已经解决了像这样的奇怪问题。
我读过数十篇类似的投诉,但这些解决方案对我不起作用。
转到 iOS 项目设置
- iOS 构建
- 链接器行为:不链接。
Xamarin.iOS
中存在一个错误,该错误将在
Xamarin.iOS 10.12.0.12 (494fcbc)
中修复,应该在测试版通道中可用。该问题似乎只发生在 PCL 中,如果您在可移植项目(Xamarin.Forms 代码)中设置断点,就会出现这种情况。有一个临时的
解决方法,对我有用:
可能的临时解决方法:切换可移植类库 项目输出“可移植”PDB 文件而不是“完整”PDB 文件如果执行上述步骤,Android 上会出现问题。为了能够再次在 Android 上命中断点,你必须这样做
- 在文本编辑器中打开可移植类库 .csproj 文件。例如,在解决方案资源管理器中右键单击项目并选择 卸载项目,然后再次右键单击它并选择“编辑...”。
- 在“Debug|AnyCPU”配置的PropertyGroup下,将DebugType更改为:portable
- 保存更改并重新加载项目。
- 再次构建、部署并开始调试 iOS 应用程序项目。
this:
长话短说,如果您手动删除“bin”和“obj”文件夹 对于您切换到的每个项目
portable
, 从测试设备上卸载应用程序,然后清理并重建 解决方案,这应该有望允许portable
模式与 安卓也一样。一旦执行了这些清理步骤一次,您 理论上应该不需要再次执行它们,除非您切换 再次调试类型。
编辑
在Android上我仍然有您需要为要调试的解决方案中的每个项目设置“完整”,否则断点将不会启动。
示例:
public ExamplePage()
{
InitializeComponent();
BindingContext = App.Resolve<ExampleViewModel>();
}
这解决了我的问题:)