【问题标题】:clr-namesapce errors in WPF (renamed namespace)WPF 中的 clr 命名空间错误(重命名命名空间)
【发布时间】:2013-06-17 07:28:40
【问题描述】:

编辑:看起来它只是一个错误。如果有人想详细了解,请随时获取更多详细信息。

我遇到了一个奇怪的问题。最初一切正常。我记得我将命名空间声明为:

x:Class="SePSI.MainWindow"        
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SePSI;assembly=SePSI"

但现在,我收到错误消息:

Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'SePSI' that is not included in the assembly.

事实上,我打开了旧项目,所有项目都有相同的错误。 [编辑:嗯,其他项目现在运行良好。]

我正在使用 vs2010。我应该重新安装 VS 吗?

可能出了什么问题?

编辑:更多信息,我更改了命名空间的名称,据我所知,我到处都更改了。我做了一个新项目,xmlns 命名空间工作正常,但后来我更改了命名空间的名称,同样的错误。

我制作了这个项目的完全相同的副本,它在那里运行良好。我现在只是好奇旧文件出了什么问题。

【问题讨论】:

  • 您确定自定义命名空间声明正确吗?尝试类似xmlns:local="clr-namespace:SePSI;assembly=SePSI"...
  • 是的,这是一个愚蠢的错字。主要问题仍然存在。

标签: c# wpf xaml namespaces


【解决方案1】:

当您在 xaml 中删除命名空间时,它使用两种策略来解析名称。

从刚刚连接命名空间的同一个项目中解析对象。喜欢。

xmlns:local="clr-namespace;myproject"

在 xaml 中使用命名空间的其他方式是引用其他程序集,这些程序集必须包含在项目中。

 xmlns:xceed="clr-namespace:Xceed.Wpf.Toolkit;assembly=WPFToolkit.Extended""

在这里你的命名空间和程序集名称可能不同,因为你的程序集名称可能为 SePSI,但项目内的命名空间已更改。

最后一个是使用自定义名称空间,如

xmlns:tk="http://schemas.xceed.com/wpf/xaml/toolkit"

所以你已经使用了程序集命名空间。确保您已包含该程序集。

【讨论】:

  • ;?? clr-namespace;myproject??
  • 仅尝试使用 xmlns:local="clr-namespace:SePSI"。如我所见,您已包含您正在工作的相同程序集名称。如果您添加程序集名称,渲染将寻找另一个名为 SePSI 的程序集。
  • 都试过了。还没有。正如我所说,我在这里制作了完全相同的代码副本,它可以在另一个文件中使用。
  • 这个 SaPSI 是不同的组件还是相同的组件。
  • 嗯,想一想使用 find all 命令并搜索命名空间关键字,这将列出您项目中的所有命名空间,然后将它们匹配到您的命名空间导入中
猜你喜欢
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多