当前位置:  开发笔记 > 编程语言 > 正文

XAML中的名称空间错误中不存在该名称

如何解决《XAML中的名称空间错误中不存在该名称》经验,为你挑选了7个好方法。

使用VS2012在VB.NET WPF应用程序上工作.我有一个简单的MusicPlayer教程应用程序,我用来学习WPF.我正在逐步将C#版本的教程转换为VB.NET.

它在应用程序中有两个类,它们都在同一名称空间下.我能够在XAML中引用命名空间,但是当我尝试在XAML中引用类对象时,我收到错误,我无法编译.

奇怪的是,IntelliSense可以通过xmlns:c =标签引用命名空间,也可以在使用类型对象键入时使用 但是对象有下划线并且生成错误,试图在设计器中构建或工作.

.vb类文件位于名为\ Controls的文件夹中.主项目根命名空间有意留空.这个类是这样编码的......

Namespace MusicPlayer.Controls
    Public Class UpdatingMediaElement
       .... code here
    End Public
End Namespace

xaml看起来像这样

(标记中定义的名称空间

xmlns:c="clr-namespace:MusicPlayer.Controls"

(对象在a中定义)

  

(显示错误)名称"UpdatingMediaElement"在名称空间"clr-namespace:MusicPlayer.Controls"中不存在.

不确定有什么问题或如何修复它?



1> 小智..:

当您编写wpf代码并且VS告诉"名称ABCDE在命名空间clr-namespace:ABC中不存在"时.但是你可以完全构建你的项目,只有一点点不便,因为你看不到UI设计(或者只是想清理代码).

尝试这样做:

在VS中,右键单击解决方案 - >属性 - >配置属性

打开一个新对话框,尝试将项目配置从Debug更改为Release,反之亦然.

之后,重新构建您的解决方案.它可以解决您的问题.


遗憾的是,2015年仍然需要​​这些技巧
在2017年7月的VS 2017版本15.2(26430.15)上确认.只需在从Debug到Release的下拉列表中更改,编译并且错误消失,更改并编译并且错误仍然消失.
似乎VS17特别顽固 - 尝试更改Rel/Dbg,更改x64/x86,删除ShadowCache,ComponentCache,Bin/Obj文件夹,仍然有"错误",设计师不适用于这个非常小的应用程序(其他应用程序与像50 WPF视图工作正常).突然发生,不能消失.有这个问题很多次,但第一次在VS17上,现在无法解决它.这仍然是最佳答案,因为它之前曾多次奏效.
这仍然发生在Visual Studio 2015 Update 1中.您的解决方案有效 - 谢谢!
也许不是,但我发现只需在工具栏上的调试和发布模式之间切换就可以了.
或者,右键单击解决方案>"清洁解决方案"; 再次右键单击解决方案>"重建".完成.
我喜欢我回到这个答案的方式,而且我已经提出了它,... 2.5年前.
同样的问题。切换到发行版将使该问题消失,但随后重新调试将其重新出现。看起来这是一个IDE问题,可能不会影响代码。我想我也会提一个问题。
VS2019。这件事发生在我身上,我已经尝试了一切。注释掉/重新编译,重新启动,清洁解决方案,删除.suo文件。没用。对于其他类,我实际上具有完全相同的数据模板,并且可以完美地工作。仅对于三个课程,这根本不起作用。

2> Vasanth Srir..:

如果程序集与包含类的命名空间不同,则必须明确指定它.

例如: -

xmlns:Local="clr-namespace:MusicPlayer.Controls;assembly=MusicPlayer"


@bouke清理解决方案并重建它

3> Jasper H Boj..:

通过清除Xaml Design Shadow Cache,我已经看到这个问题消失了.我遇到了Visual Studio 2015 Update 1的问题.

在Visual Studio 2015中,缓存位于此处:

%localappdata%\Microsoft\VisualStudio\14.0\Designer\ShadowCache

处理:

    右键单击解决方案资源管理器中的解决方案,然后选择"清理解决方案"

    关闭Visual Studio

    删除ShadowCache文件夹

    重新打开Visual Studio项目

    重建解决方案

并且没有更多的命名空间错误.


可悲的是,对我而言,没有改变一件事.几乎整整一年后仍然处理这个烦人的事情.:/
您可以使用%localappdata%\ Microsoft\VisualStudio\14.0\Designer \立即转到正确的文件夹
谢谢!最终为我工作。这是可悲的看到这个技巧仍然在VS15必要

4> teynon..:

尝试将构建目标平台更改为x86并构建项目.

我通过Subversion注意到我显然将项目构建平台目标更改为x64.这是我做过的唯一改变.进行更改后,代码在开始显示您遇到的相同错误之前已经工作了一段时间.我将平台目标更改为x86进行测试,突然我的设计师再次工作.随后,我将其更改回x64,问题完全消失了.我怀疑设计人员在x32中构建了某种缓存代码,并且在进行代码更改时更改x64构建平台会破坏它.



5> Iman Abidi..:

在我的情况下,这是因为其他编译错误.当其他错误得到解决时,这个看似相关的错误也从列表中删除了.特别是错误列表底部和最近更改的页面上的错误.

因此,请不要直接关注此错误,并首先关注其他错误.


请注意,即使我没有任何其他无关的编译错误,执行构建/编译也为我解决了这个问题.在完成编译之前,看起来XAML窗口并不总是能够识别新类.

6> 小智..:

Dunno,如果这会帮助其他人

我是WPF的新手,仍然是VB.net的新手 - 所以我假设得到这个错误是由于我做巅峰傻事........假设我真的!我已经设法通过将我的项目从共享驱动器移动到我的本地驱动器之一来摆脱它.错误消失了,项目编译完全没有进一步的问题 - 然而.看起来VS2015仍然存在共享驱动器上的项目问题.


对我来说就是这种情况,我把它移到了我的vm(我开发的那个)并且没有任何问题.谢谢!

7> Simon..:

也许是项目编译时的另一种解决方案,但XAML错误显示:

    在解决方案探索中,在包含xaml的项目节点上

    右键单击项目并选择"卸载项目"

    右键单击项目并选择"重新加载项目"确保您的项目仍被选为"启动项目".如果不 :

    右键单击该项目,然后选择"设置为启动项目"

无需重建或关闭视觉工作室.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有