C# Xamarin.Behavior with Xamarin.Forms iOS

C# Xamarin.Behavior with Xamarin.Forms iOS,c#,xamarin,xamarin.ios,xamarin.forms,xamarin-studio,C#,Xamarin,Xamarin.ios,Xamarin.forms,Xamarin Studio,昨天,我遇到了一个与Xamarin.Behaviors和Xamarin.Forms相关的bug。详细信息是我在xaml页面中添加以下代码行后引发的异常: <b:Interaction.Behaviors> <b:BehaviorCollection> <b:EventToCommand EventName="Clicked" Command="{Binding MyCommand}" /> </b:Beh

昨天,我遇到了一个与Xamarin.Behaviors和Xamarin.Forms相关的bug。详细信息是我在xaml页面中添加以下代码行后引发的异常:

 <b:Interaction.Behaviors>
        <b:BehaviorCollection>
        <b:EventToCommand EventName="Clicked" Command="{Binding MyCommand}" />
        </b:BehaviorCollection>
 </b:Interaction.Behaviors>  
应用程序崩溃,出现异常:“无法加载文件或程序集'Xamarin.Behaviors'或其依赖项之一。系统找不到指定的文件。”

特别是,它只发生在iOS上,安卓和wp仍然运行良好。所以,我猜这可能是xamarin bug或xamarin studio bug


p/S:我检查了我的项目包文件夹中是否存在Xamarin.Behaviors,但应用程序仍然没有找到该程序集所在的位置,以帮助也参与此错误的人。我会发布我的答案来展示我的解决方案。 Nuget有这个库的问题,我们不能再使用它了。我必须忘记Nuget,将这个库中的全部类复制到我的项目中。因此,它看起来像是您编写的代码,而不是库。当然,我们必须手动更新它,而不是像以前那样使用Nuget。
也许,这个解决方案只是暂时的。有人会找到更好的,我会改变我的答案。

我在构建iOS项目时遇到了这个问题,所以经过大量的研发,我在iOS AppDelegate.cs文件中添加了这行代码

Xamarin.Behaviors.Infrastructure.Init ();
这就是我所要做的,上面的代码行帮助iOS文件强制链接到一些程序集。添加上面的行解决了我的崩溃


希望它有帮助

我猜你的
iOS
项目没有引用
Xamarin.Behaviors
实际上,我已经检查了iOS项目中的reference文件夹,并意识到Xamarin.Behaviors存在。即使我尝试删除并再次添加该nuget,也不会有任何帮助。@topcbl如果您能够解决此错误,我将面临相同的问题issue@NSDumb我记得这个bug是通过从存储库中签出代码并直接在我的项目中使用来解决的。@topcbl所以你签出代码并更新了Nuget包,它正确地解决了这个bug,在我的情况下,我也这样做了,但它仍然给了我问题。我重新添加了Nuget软件包,但这无助于对此发表任何评论
Xamarin.Behaviors.Infrastructure.Init ();