我是Xamarin的新手,这是我从头开始的第一个项目
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new LoginPage());
}
这是在App.xaml.cs
LoginPage
有两个按钮,每个按钮绑定到同一ViewModel中的一个Command,其中一个是以下Command:
public Command ShowPopup
{
get => new Command(() =>
{
PopupNavigation.Instance.PushAsync(new UATSelectionPopup());
});
set
{
}
}
我正在使用一个名为Rg.Plugins.Popup
的nuget包/库来在屏幕上呈现弹出窗口。弹出窗口有两个按钮,其中一个执行此操作:
await Application.Current.MainPage.Navigation.PushModalAsync(new Driver.Index(), false);
我点击按钮,据我所知,该按钮应执行上面的代码行,但是会执行以下未处理的异常表面:
System.TypeLoadException:无法从typeref(组件中的预期类'Xamarin.Forms.NavigableElement'>组件>'Xamarin.Forms.Core,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = null解析带有令牌01000016的类型')
似乎该问题发生在该行代码被命中之前。我试图在上面放一个断点。
我已经在Google上搜索了至少两个小时,而且我离了解它的起源也越来越近了。
我需要以下方面的帮助: 1)知道发生了什么,是什么导致了这种异常? 2)什么是解决这个问题的合理方法?
感谢您的帮助;预先谢谢你。
编辑04:55 AM 根据SushiHangover的评论,我了解了一些有关XAMLC的知识,并试图将其纳入我的项目。
我读到它很适合AssemblyInfo.cs,因为它比类级编译更全面。
因此我将以下代码行添加到Android\Properties\AssemblyInfo.cs
using Xamarin.Forms.Xaml;
[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
似乎什么都没有改变。我期待一些XAML错误。 附带说明,我更新了一些软件包并清除了所有其他警告。仍然没有区别。我做得很好,没有错误或警告。