如何解决错误 CS0433:类型 'type' 存在于 'Microsoft.UI.Xaml,...' 和 'Microsoft.UI...' 中

How to resolve error CS0433: The type 'type' exists both in 'Microsoft.UI.Xaml,...' and 'Microsoft.UI...'

我正在使用 WinUI 3.0 在 C# 中制作 UWP Windows 应用程序,几天前我开始收到此类错误:

CS0433  The type 'NavigationView' exists in both 'Microsoft.UI.Xaml, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime' and 'Microsoft.UI, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime'

这是导致错误的自动生成代码的片段:

[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.UI.Xaml.Markup.Compiler"," 0.0.0.0")]
        private global::Microsoft.UI.Xaml.Controls.NavigationView settingsNavPane; 

到目前为止,我通过删除 /bin/obj 的内容解决了这个问题,但问题似乎仍然存在。

我知道这是编译器错误,所以我尝试添加对 .csproj 文件的引用:

<References>
  <Reference Include="Microsoft.UI.Xaml.dll"/>
</References>

我不知道我是否遗漏了一些明显的东西,但这也没有解决问题。我该如何解决这个问题?

根据您的错误,您似乎没有具体 XamlControlsResources,请参考此 document 并在您的 app.xaml 文件中添加 XamlControlsResources。

<Application.Resources>
    <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
</Application.Resources>