Xamarin表单调试错误

Xamarin表单调试错误,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我甚至不知道从哪里开始调试,所以请让我知道我还能做些什么来了解更多信息 当我在Debug的输出中加载我的Xamarin表单应用程序时,我会看到这样的行 在Xamarin.Forms.Xaml.DLL中发生了类型为“Xamarin.Forms.Xaml.XamlParseException”的第一次意外异常 然后再往下看,我看到大量错误重复出现,例如 A first chance exception of type 'System.Reflection.AmbiguousMatchExceptio

我甚至不知道从哪里开始调试,所以请让我知道我还能做些什么来了解更多信息

当我在Debug的输出中加载我的Xamarin表单应用程序时,我会看到这样的行

在Xamarin.F
orms.Xaml.DLL中发生了类型为“Xamarin.Forms.Xaml.XamlParseException”的第一次意外异常

然后再往下看,我看到大量错误重复出现,例如

A first chance exception of type 'System.Reflection.AmbiguousMatchException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.InvalidCastException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll
A first chance exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll
这只是不断重复。然而,我的应用程序工作得非常好,在运行应用程序时没有任何问题,但它感觉有点迟钝,我怀疑这是由于这些原因

有谁能告诉我如何找到更多关于这些原因的信息吗

更新1

A first chance exception of type 'System.ArgumentException' occurred in mscorlib.ni.dll
是由

<Grid.RowDefinitions>
  <RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
  <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

但是Xaml工作得很好,只是抛出了错误。

示例解决方案确实对我有效,但它确实重新下载了一些参考资料

我注意到您在发布配置中使用了它,而您发送的解决方案中没有任何文件

听起来好像什么地方出了差错。你能试一下吗-

1) 尝试清洗溶液并重新构建和测试

2) 从发布更改为调试,然后清理并测试,然后返回到发布并清理并测试

3) 从平台特定项目的文件系统中删除obj和bin目录,然后重新生成


希望上面的一个例子能够解决您遇到的小问题?

好的,我还没有解决所有问题,但这里有一个我将与您分享,多亏了您

基本上,任何图像都会导致错误,因为图像源在WP中不会自动转换为图像源。在Android和iOS上的位置

所以你需要使用一个转换器

cell.SetBinding(ImageCell.ImageSourceProperty, 
    new Binding("IconSource", BindingMode.OneWay, new StringToImageConverter())); 

public class StringToImageConverter : IValueConverter  { 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
        var filename = (string)value; 
        return ImageSource.FromFile(filename); 
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    } }
我会看看是否能找到问题的剩余来源,并将它们发布在这里


更新:另一个是XF框架中的一个bug,在XamlC出现时修复了该bug。

我相信这是由于您的XAML标记。很可能是您在转换器中执行的调用在您执行的调用中不够精确,因此存在歧义,或者可能是使用了一些您并不真正想要的错误数据类型。如果你能隔离和张贴我可以看看你?我的个人资料上有我的联系方式。找到了其中一个错误的原因。应该没问题。你能检查一下你的电脑是否使用了最新版本的所有东西吗?进入每个特定于平台的项目的文件资源管理器,验证所有库都是v1.2.3xXamarin.Forms.Core,Xamarin.Forms.Xaml都是1.2.3.0。Nuget软件包是1.2.3.6257创建一个新项目,并将此代码添加到一个简单的页面中,然后运行以验证这是否是失败的真正原因?我在发送电子邮件时清理了解决方案以减小文件大小。解决方案运行了,这不是问题所在,只是调试输出消息与我有关,以及我在做什么。我在原始问题中添加了一张图片,以确保我们在同一页上。如果我删除了网格的行和列定义,但仍然保留网格,我将永远看不到这两个输出。是的-我理解,但当我检查“输出”对话框时,我会得到退出代码等,但是您发送的小样本解决方案中没有任何“ArgumentException”行。我今天又快速查看了一下,但仍然无法从您的样品中重新生产。如果它没有使您的应用程序崩溃,那么可能有一个我不知道的详细的调试过程-我只能在VS中看到不适合此场景的构建输出选项。我可以在TeamViewer上快速浏览一下,但我认为,因为这根本不会使你的应用程序崩溃,那么它可能是某种升级的调试日志,所以有人在做一个
尝试
捕获
但是捕获可能是一个空块?也许最好联系Xamarin,也许需要更多的澄清?嗨,Pete,只是找出实际的错误。我已经用第一个错误和一条实际的错误消息更新了主要问题。代码看起来很好,与示例相同,但错误似乎在xaml模式文件中,我不知道它看起来像什么,也不知道如何修复其中一个错误。
Additional information: Type ConstraintExpressionExtension not found in xmlns http://xamarin.com/schemas/2014/forms
cell.SetBinding(ImageCell.ImageSourceProperty, 
    new Binding("IconSource", BindingMode.OneWay, new StringToImageConverter())); 

public class StringToImageConverter : IValueConverter  { 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
        var filename = (string)value; 
        return ImageSource.FromFile(filename); 
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    } }