从另一个基于应用程序的类继承UWP应用程序类时,名称空间“ ...”中不存在名称“ AppClass”

Aga*_*gat 2 mvvmcross xamarin.forms uwp

我要实现的只是继承UWP App类,而不是从Windows.UI.Xaml.Application类继承,而是从某个基类继承,该基类继承自“标准”类。

但是,当我这样做时:

namespace MyNamespace
{
    sealed partial class App : MyUwpBaseApplication
    {
        public App()
        {
            this.InitializeComponent();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

和xaml:

<local:MyUwpBaseApplication
    x:Class="MyNamespace.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:MyNamespace">

</local:MyUwpBaseApplication>
Run Code Online (Sandbox Code Playgroud)

我同时收到:XAML设计器中的设计时错误以及编译错误:

错误XDG0008名称空间“ using:MyNamespace”中不存在名称“ MyUwpBaseApplication”。MyNamespace App.xaml 1

我需要基类来使用MvvmCross和Xamarin.Forms。但是我收到的错误是通用的,与任何一个都不相关。

Visual Studio:15.7。Windows:10个秋季创作者更新。

我该如何处理?

Aga*_*gat 5

进行UWP开发时,事情变得很奇怪,尤其是考虑到这是Windows Native平台开发时(Microsoft,您好!)。

但是Visual Studio确实对XAML尤其是UWP非常“反复无常”。

我仍然不知道确切的原因,您应该对项目进行什么工作才能使其正常工作,但是解决方案绝对是 这些提示中的某个地方

肯定有一些东西:

  • 以管理员身份运行Visual Studio
  • 删除bin,obj文件夹
  • 清洗溶液
  • 重建项目

至少在完成所有这些操作之后,项目现在可以很好地进行编译(并且始终独立于bin,obj是否存在)。因此,我正在考虑,这可能与在其他位置(项目文件夹除外)对已构建的二进制文件进行某些缓存有关。

可能的原因之一是在一个解决方案中一次包含多个UWP项目(至少,在我构建其中一个项目时出现错误消息出现在所有这些项目上),因此在构建目标项目时我不得不隐藏其他项目。

(并且仍然应该有xmlns:local="using:MyNamespace",而不是clr-namespace(否则会出现其他错误))。