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

Posted

技术标签:

【中文标题】如何解决错误 CS0433:类型“type”同时存在于“Microsoft.UI.Xaml,...”和“Microsoft.UI...”中【英文标题】:How to resolve error CS0433: The type 'type' exists both in 'Microsoft.UI.Xaml,...' and 'Microsoft.UI...' 【发布时间】:2021-09-14 22:38:28 【问题描述】:

我正在使用 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'

这是导致错误的自动生成代码中的 sn-p:

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

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

【问题讨论】:

您是否在 app.xaml 文件中将 XamlControlsResources 指定为 Microsoft.UI.Xaml.Controls? 不,我没有 请尝试在上面添加并告诉我结果。 我试过了,它有效,谢谢:D 你能把这个作为答案发布吗? 【参考方案1】:

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

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

【讨论】:

以上是关于如何解决错误 CS0433:类型“type”同时存在于“Microsoft.UI.Xaml,...”和“Microsoft.UI...”中的主要内容,如果未能解决你的问题,请参考以下文章

CS0433: 类型 'List<T>' 存在于两者中

Unity 2019 - 如何修复 TextMeshPro 2.0 错误 cs0433

error CS0433: The type global_asax exists in both App_global.asax

.net 发布程序时出现“类型ASP.global_asax同时存在于...”错误的解决办法

reportview报表出错。同时存在于***和***。

The type exists in both DLLs