我最近升级到Visual Studio的新Xamarin,从那时起,我在IOS调试期间无法再遇到断点。 Android工作正常,很奇怪。
我卸载并重新安装了Visual Studio Community Edition 2017并保留了所有默认设置。以前,这已经解决了像这样的奇怪问题。
我已阅读了数十篇类似的投诉,但这些解决方案对我没用。
答案 0 :(得分:1)
转到Visual Studio for Mac,解决方案资源管理器并选择项目, 项目 - >选项 - >编译器 - >调试信息,在下拉列表中选择“完整”。
您需要为要调试的解决方案中的每个项目设置此“Full”,否则断点将无法启动。
答案 1 :(得分:1)
我在Windows上的Visual Studio 2017和在远程Mac上使用iOS模拟器的最新Xamarin遇到了相同的问题。开始调试,但是没有遇到断点。
通过在Mac或iOS Build选项上更改没有任何操作来使其正常运行;而是将Windows中Visual Studio 2017中生成的调试信息类型从“完全”或“仅Pdb”更改为“便携式” 。
我是为iOS平台项目以及共享的Xamarin.Forms项目(.NET Standard 2.0)所做的。
此后,共享项目和iOS平台项目中的断点都开始出现。好时光。
答案 2 :(得分:0)
Xamarin.iOS
中存在一个错误,该错误将在Xamarin.iOS 10.12.0.12 (494fcbc)
中修复,该错误应在测试通道中提供。问题似乎只发生在PCL中,如果在便携式项目中设置断点(Xamarin.Forms代码)就是这种情况。
有一个临时的workaround,对我有用:
可能的临时解决方法:切换可移植类库 项目输出“便携式”PDB文件而不是“完整”PDB文件
在文本编辑器中打开可移植类库.csproj文件。例如,在解决方案资源管理器中右键单击该项目,然后选择 卸载项目,然后再次右键单击它并选择“编辑...”。
在“Debug | AnyCPU”配置的PropertyGroup下,将DebugType更改为:portable
保存更改并重新加载项目。
- 醇>
再次构建,部署并开始调试iOS应用程序项目。
如果您执行上述步骤,Android上就会出现问题。为了能够再次点击Android上的断点,您必须执行this:
长话短说,如果你手动删除“bin”和“obj”文件夹 对于您已切换到
portable
的每个项目, 从测试设备卸载应用程序,然后清理并重建 解决方案,应该有希望允许portable
模式使用 Android也是。一旦你完成了那些清理步骤,你就可以了 理论上不应该再次执行它们,除非你切换 再次调试DebugType。
修改强>
在Android上我仍然有troubles,所以这不是完美的方式。
答案 3 :(得分:0)
答案 4 :(得分:0)
Xamarin形式:确保您的视图已与绑定上下文绑定,否则将不会出现断点。断点显示为未加载的符号。
示例:
public ExamplePage()
{
InitializeComponent();
BindingContext = App.Resolve<ExampleViewModel>();
}
那为我解决了这个问题:)