Xamarin.UWP应用程序不';因为';Microsoft.Graphics.Canvas.UI.Xaml.CanvasImageSource';无法加载

Xamarin.UWP应用程序不';因为';Microsoft.Graphics.Canvas.UI.Xaml.CanvasImageSource';无法加载,xamarin,xamarin.forms,uwp,xamarin.uwp,Xamarin,Xamarin.forms,Uwp,Xamarin.uwp,我正在开发一个Android/iOS/uwpxamarin.Forms应用程序。在过去的几周里,我主要致力于Android/iOS应用程序。现在,我想在UWP中再次启动我的应用程序并获取错误: System.TypeLoadException HResult=0x80131522 Message=Could not find Windows Runtime type 'Microsoft.Graphics.Canvas.UI.Xaml.CanvasImageSource'. Sour

我正在开发一个Android/iOS/uwpxamarin.Forms应用程序。在过去的几周里,我主要致力于Android/iOS应用程序。现在,我想在UWP中再次启动我的应用程序并获取错误:

System.TypeLoadException
  HResult=0x80131522
  Message=Could not find Windows Runtime type 'Microsoft.Graphics.Canvas.UI.Xaml.CanvasImageSource'.
  Source=Xamarin.Forms.Platform.UAP
  StackTrace:
   at Xamarin.Forms.Platform.UWP.ImageRenderer.GetDesiredSize(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.Platform.UWP.Platform.GetNativeSize(VisualElement element, Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.Platform.UWP.WindowsBasePlatformServices.GetNativeSize(VisualElement view, Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.OnSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.Image.OnSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.OnMeasure(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.GetSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.Measure(Double widthConstraint, Double heightConstraint, MeasureFlags flags)
   at Xamarin.Forms.StackLayout.CalculateNaiveLayout(LayoutInformation layout, StackOrientation orientation, Double x, Double y, Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.StackLayout.CalculateLayout(LayoutInformation layout, Double x, Double y, Double widthConstraint, Double heightConstraint, Boolean processExpanders)
   at Xamarin.Forms.StackLayout.OnSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.OnMeasure(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.GetSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.Layout.GetSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.Measure(Double widthConstraint, Double heightConstraint, MeasureFlags flags)
   at Xamarin.Forms.ScrollView.OnSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.OnMeasure(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.GetSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.Layout.GetSizeRequest(Double widthConstraint, Double heightConstraint)
   at Xamarin.Forms.VisualElement.Measure(Double widthConstraint, Double heightConstraint, MeasureFlags flags)
   at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion(VisualElement child, Rectangle region)
   at Xamarin.Forms.Page.LayoutChildren(Double x, Double y, Double width, Double height)
   at Xamarin.Forms.Page.UpdateChildrenLayout()
   at Xamarin.Forms.Page.OnSizeAllocated(Double width, Double height)
   at RA_Krypt.MainPage.OnSizeAllocated(Double width, Double height) in C:\Users\Christian\source\repos\Xamarin_RaKrypt\RA-Krypt\RA-Krypt\MainPage.xaml.cs:line 27
   at Xamarin.Forms.Page.OnChildMeasureInvalidated(VisualElement child, InvalidationTrigger trigger)
   at Xamarin.Forms.Page.OnChildMeasureInvalidated(Object sender, EventArgs e)
   at Xamarin.Forms.VisualElement.InvalidateMeasureInternal(InvalidationTrigger trigger)
   at Xamarin.Forms.VisualElement.set_IsNativeStateConsistent(Boolean value)
   at Xamarin.Forms.Platform.UWP.VisualElementRenderer`2.OnControlLoaded(Object sender, RoutedEventArgs args)

我的应用程序根本没有启动。我重建了我的项目并重新启动了我的计算机,这有时对Xamarin有帮助,但我仍然被卡住了。我需要做什么才能使我的应用程序重新工作?

此错误已报告并已修复,请参阅。该修复程序将包含在即将发布的Xamarin.Forms中

目前有解决办法。确保已安装最新版本的Xamarin.Forms。然后:

如果您需要支持秋季创建者更新(SDK 16299)

  • 确保项目的最小版本设置为至少Fall Creators Update(16299)
  • 将NuGet中的
    Win2D.uwp
    包安装到您的uwp项目中
  • true
    添加到UWP项目的
    csproj
  • 如果您可以支持最小版本SDK 17134

  • 将UWP项目的最小版本设置为17134或更新版本
  • 将NuGet中的
    Win2D.uwp
    包安装到您的uwp项目中