![](/img/trans.png)
[英]How to resolve with a exception “Cannot start to manage an object with a realm when it's already managed by another realm”
[英]How to Resolve Exception: Cannot create an instance of “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/上的指南进行操作,因此我添加了“xmlns:forms =”的行:Xamarin.Forms .Platform.UWP“将页面标记从页面更改为表单之前的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表单设计器的支持,如果你转到网站它说“注意: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操作系统。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.