"clr-namespace"URI指的是未包含在程序集中的命名空间

Ada*_*m S 51 .net c# wpf xaml converter

我试图在我的XAML中包含一些转换值的类.但是,我编译时遇到以下错误:

未定义的CLR命名空间.'clr-namespace'URI是指未包含在程序集中的名称空间"View.Summary.Converters".(View\View)

而XAML的错误在于:

xmlns:c="clr-namespace:View.Summary.Converters"
Run Code Online (Sandbox Code Playgroud)

另外,这是我的转换类/命名空间的大纲:

namespace View.Summary.Converters
{
    class CollapsedIfNegative : IValueConverter { }

    class VisibleIfNegative : IValueConverter { }

    class ErrorCodeToString : IValueConverter { }
}
Run Code Online (Sandbox Code Playgroud)

我不得不删除代码的内容,因为我正在处理的项目是高度机密的.

小智 56

重建解决方案,错误将消失.

  • 我有这个问题.重建并没有解决它. (7认同)
  • 这看起来非常简单......但是我一直在敲打着我的头撞墙.谢谢! (2认同)

小智 38

我刚刚通过将目标从x64更改为x86来解决这个问题.显然Visual Studio是32位进程,它无法加载64位程序集,如果你的程序集是针对x64平台而你添加了一些自定义控件,则visual studio无法加载它并抛出此消息.


Ada*_*m S 18

我弄清楚出了什么问题.虽然visual studio将此视为第一个错误,但我的编码确实存在其他错误,这些错误阻止了转换器的组装.因此,当VS去寻找装配时,它就不存在了.


小智 13

vs2008设计师的一些问题

做这个:

  1. 关闭设计师
  2. rebuild-all(Alt + B + R)解决方案

现在不会有任何错误.


Jer*_*her 13

如果引用外部项目,则必须指定项目引用中显示的程序集:

xmlns:mdls="clr-namespace:MyProject.Models;assembly=MyProject.Models"
Run Code Online (Sandbox Code Playgroud)

  • 这个答案应该得到更多关注 (3认同)

H A*_*H A 8

我能够重现你的问题:

我在.NET Framework 4.0中创建了一个简单的WF.重命名了xaml文件.作为重命名xaml文件的一部分,您必须在WorkflowInvoker对象上调用Invoke时手动重命名工作流运行时名称.我建立了这个项目.我收到错误"'clr-namespace'URI指的是程序集中未包含的命名空间'System'."

我是如何修理它的:

我打开项目属性页面.出于某种原因,目标框架从.NET framework 4.0切换到4.0客户端版本.所以,我选择了.NET 4.0并重建了该项目.错误不再存在了.