在VB.NET WPF应用程序上使用VS2012。我有一个用于学习WPF的简单MusicPlayer教程应用程序。我正在逐步将本教程的C#版本转换为VB.NET。它在应用程序中有2个类,它们都在同一个命名空间下。我能够在XAML中引用名称空间,但是当我尝试在XAML中引用类对象时,出现错误,并且无法编译。奇怪的是,IntelliSense既可以通过xmlns:c =标记引用名称空间,也可以在使用键入类对象时很好地工作, <c: 但是该对象带有下划线,并且在尝试在设计器中构建或工作时会产生错误。.vb类文件位于名为\ Controls的文件夹中。主项目根命名空间特意留为空白。该类是这样编码的...Namespace MusicPlayer.Controls Public Class UpdatingMediaElement .... code here End PublicEnd Namespacexaml看起来像这样(<Window >标记中定义的命名空间xmlns:c="clr-namespace:MusicPlayer.Controls"(在中定义的对象<Grid>) <c:UpdatingMediaElement Name="MyMediaElement" />(显示错误)名称空间“ clr-namespace:MusicPlayer.Controls”中不存在名称“ UpdatingMediaElement”。不确定出什么问题或如何解决?
3 回答
哔哔one
TA贡献1854条经验 获得超8个赞
在编写wpf代码和VS时,请告诉“名称空间clr-namespace:ABC中不存在名称ABCDE”。但是您可以完全成功地构建项目,只有一点点麻烦,因为您看不到UI设计(或者只是想清理代码)。
尝试执行以下操作:
在VS中,右键单击您的解决方案->属性->配置属性
将打开一个新对话框,尝试将项目配置从“调试”更改为“发行”,反之亦然。
之后,重新构建您的解决方案。它可以解决您的问题。
30秒到达战场
TA贡献1828条经验 获得超6个赞
如果程序集与包含类的名称空间不同,则必须明确指定它。
例如:-
xmlns:Local="clr-namespace:MusicPlayer.Controls;assembly=MusicPlayer"
倚天杖
TA贡献1828条经验 获得超3个赞
我已经知道通过清除Xaml Design Shadow Cache可以解决此问题。我在Visual Studio 2015 Update 1中遇到问题。
在Visual Studio 2015中,缓存位于以下位置:
%localappdata%\Microsoft\VisualStudio\14.0\Designer\ShadowCache
处理:
在解决方案资源管理器中右键单击该解决方案,然后选择“清理解决方案”
关闭Visual Studio
删除ShadowCache文件夹
重新打开Visual Studio项目
重建解决方案
瞧,不再有名称空间错误。
- 3 回答
- 0 关注
- 2092 浏览
添加回答
举报
0/150
提交
取消