xamarin – 如何解决异常:无法创建“WindowsPage”的实例

这里是Xamarin的全新形式,并尝试使用该软件包开始跨平台应用程序开发.然而,在门外我似乎遇到了一个问题,在其他地方被问过几次,但我还没有真正看到实际的回应.目前我正在尝试在便携式表格/ PCL设置中使用UWP /通用
Windows /
Windows 10用户界面.

这是无法在Microsoft Visual Studio 2015 Xaml设计器中创建WindowsPage错误消息的实例.我正在按照https://developer.xamarin.com/guides/xamarin-forms/platform-features/windows/installation/universal/的指南进行操作,所以我在使用:Xamarin.Forms.Platform.UWP之前添加了“xmlns:forms =”行:将页面标记从Page更改为表单之前的xaml文件:WindowsPage因此引用了xamarin表单包我确实将所有NuGet包更新到了​​最新版本.目前Xamarin表格类似于2.2.

我最初安装了VS2015 Xamarin软件包的默认设置,我只是尝试使用包含的每个额外组件来修改该安装,所以我不认为我错过任何东西.我相信Xamarin安装正确,因为它出现在帮助中 – > Xamarin菜单和我可以从Xamarin表单包中选择新的解决方案,但我不确定是什么原因导致了这个问题.

这是XAML代码

<forms:WindowsPage
    x:Class="SoloPathfinderPCL.UWP.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:forms="using:Xamarin.Forms.Platform.UWP"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:SoloPathfinderPCL.UWP"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

</forms:WindowsPage>

这是我的异常堆栈跟踪:无法创建“WindowsPage”的实例.

at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.InstanceBuilderOperations.InstantiateType(Type type, Boolean supportInternal)
   at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.ClrObjectInstanceBuilder.InstantiateTargetType(IInstanceBuilderContext context, ViewNode viewNode)
   at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.ClrObjectInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode)
   at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.InstanceBuilders.FrameworkElementInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode)
   at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.InstanceBuilders.UserControlInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode)
   at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.ViewNodeManager.CreateInstance(IInstanceBuilder builder, ViewNode viewNode)

希望有人可以指出我和其他人在正确的方向上解决这个问题.谢谢.

最佳答案 看起来这个问题来自Xamarin Forms,根据Xamarin Forms,目前还没有对Visual Studio表单设计器的支持,如果你转到
website它说“注意:Xamarin.Forms与预先存在的XAML不兼容视觉设计师.“不幸的是,你不能简单地改变:

public partial class MainPage : ContentPage

public partial class MainPage : Page

这将打败整个目的.你基本上做的是从WPF派生而不是Xamarin Forms. ContentPage是WPF页面的Xamarin Forms版本.另外需要注意的是,即使您能够让Designer加载您不想使用“工具箱”中的任何控件,这些也仅适用于WPF.如果您使用任何.Net控件,它将在Windows下运行但如果您尝试在不同的平台下运行它会崩溃,因为Xamarin Forms最终将控件映射到Native OS的控件和工具箱仅适用于Windows操作系统.

点赞