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

问题描述

我想要实现的只是不是从 Windows.UI.Xaml.Application 类继承 UWP App 类,而是从一些基类继承,从“标准”类继承。

但是,当我这样做时:

namespace MyNamespace
{
    sealed partial class App : MyUwpBaseApplication
    {
        public App()
        {
            this.InitializeComponent();
        }
    }
}

和 xml:

<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>

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

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

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

视觉工作室:15.7。Windows:10 秋季创作者更新。

我该如何处理?

标签: xamarin.formsuwpmvvmcross

解决方案


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

但是 Visual Studio 对 XAML 和 UWP 来说确实非常“反复无常”。

我仍然不知道您应该如何处理该项目以使其工作的确切原因,但解决方案肯定是 这些提示中的某个地方。

它肯定有一些东西:

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

至少,在完成所有这些操作之后,项目现在编译得很好(并且总是独立于 bin、obj 是否存在)。所以,我正在考虑,这可能是在其他地方(除了项目文件夹)对构建的二进制文件进行了一些缓存。

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

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


推荐阅读