c# - XAML:命名空间奇怪的行为 Visual Studio

标签 c# wpf visual-studio xaml xml-namespaces

我当前的 WPF 项目之一遇到问题。该项目过去编译(和运行)得很好。然后,出于许可问题,我们决定从库中删除扩展 WPF 工具包。我用过NumericUpDown s ( ShortUpDown ,...不是已弃用的),所以我决定我应该编写自己的。

我写了一个UserControl我对此非常满意,但是当我用我的控件交换 UpDowns 时,我称之为 MySpinner它停止工作:

  • 设计器不再显示我的窗口,并显示错误消息:“设计 View 无法正确显示,因为尚未构建某些自定义元素。”

    <
  • 我的项目不再构建,并带有大量错误消息,指出我使用的所有类都不位于其 namespace 中(除 MySpinner 之外的每个类)或(来自代码隐藏的错误)指出我的命名控件(类型为 MySpinner )在当前上下文中不存在 - 可能是由于 XAML 未编译。

我的项目中的所有内容都在命名空间 DeviceSimulator 中我已将其“导入”为 con行:xmlns:con="clr-namespace:DeviceSimulator"在我的Window的开始(之前效果很好)。

如果我输入 <con: IntelliSense 甚至正确地向我展示了命名空间中的每个类作为可能的完成。

我知道已经有很多问题看似相似的主题,但不同之处在于,就我而言,该项目没有构建。尽管存在错误,但项目构建的问题是我遇到过几次的问题,但这里的情况并非如此。

我尝试了针对其他问题提出的解决方案,例如重新启动、重建、清理或更改 Any CPU 的编译目标至x86然后返回,但没有任何效果(构建和重建不起作用,因为解决方案无法编译)。我使用的所有内容都位于本地项目文件夹中(当然, schemas.microsoft.com... 中的默认命名空间定义除外),没有额外的库或我包含的库,并且我不在任何类型的网络或服务器上工作。

该问题出现在我使用 Express 版本的 Visual Studio 2013 和 2012 中。

最佳答案

As the user has already found a solution to their problem, this is not meant to be an answer, rather just some information relating to this situation.

当您发现以前没有错误的解决方案中有数十个甚至数百个错误时,您可以放心,它们大多是“红鲱鱼”,或虚假/临时错误。发生这种情况是因为最近发生了某些更改并导致项目中出现一个或几个错误。

通常,其他项目引用了现在损坏的项目,因此任何引用损坏项目中的类的类现在也会显示一个或多个错误...这些是错误的,或者更准确地说,是临时错误,这些错误将会消失当实际错误得到修复并且该项目再次构建时。

在单个项目应用程序中,当一个类中的错误将导致引用损坏的类的其他类显示错误,指出某个类明显不存在时,这种情况也可能发生。这有点像当您更改解决方案平台或解决方案配置时,只不过在这种情况下,Visual Studio 会意识到这些错误本身并不是实际的错误。

那么我们如何解决这些问题呢?一般来说,这很容易,因为通常是最后编辑的内容导致了实际错误。即使不是这种情况,您也可以在 Visual Studio 中查看Error ListProject 列,通常出现次数最多的项目名称是带有错误。

此外,您可以忽略许多类似“在项目/命名空间 Y 中找不到 X 类”的错误,因为您知道它们确实如此。追踪实际错误是最棘手的部分。

对多项目应用程序有帮助的另一个技巧是使用 Build > Build XXX (ProjectName) 选项而不是 Build Solution 选项来构建损坏的项目第一的。您需要首先在解决方案资源管理器中选择相关项目。有时项目只需要按特定顺序构建,但使用构建解决方案选项有其自己的构建顺序,可能会有所不同。

问题作者最初在设计器中遇到的错误听起来像是他们实际上需要做的就是首先构建包含 CustomControls 的项目,然后当该项目具有dll 文件。

我希望能够帮助其他面临数百个错误的用户。

关于c# - XAML:命名空间奇怪的行为 Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19836634/

相关文章:

c# - 使用 DataContractJsonSerializer 创建非 XML Json 文件

wpf - AvalonDock 文档 View 内容在 float 窗口后消失

c++ - boost 图形库,depth_first_search 不在 msvc 中调用 finish_edge

C++ Visual Studio 如何知道需要哪些依赖项

WPF如何在最大化窗口时免除任务栏

c++ - 用于 C++ 开发的 Refactor Pro 与 Visual Assist X

c# - 警告 CS8032 无法加载文件或程序集 'Microsoft.CodeAnalysis,版本 = 3.3.0.0

c# - 如何为接受 xml 文件路径作为参数的方法编写单元测试

c# - 如何从我的应用程序打开当前的 Excel 实例?

c# - 图像路径是否应该使用 MVVM 存储在 VM 中