'clr-namespace'URI是指一个不包含在程序集中的名字空间
我试图在我的XAML中包含一些转换值的类。 但是,编译时出现以下错误:
未定义的CLR名称空间。 'clr-namespace'URI指的是一个不包含在程序集中的命名空间'View.Summary.Converters'(View \ View)
和XAML错误:
xmlns:c="clr-namespace:View.Summary.Converters"
另外,这里是我的转换类/名称空间的大纲:
namespace View.Summary.Converters { class CollapsedIfNegative : IValueConverter { } class VisibleIfNegative : IValueConverter { } class ErrorCodeToString : IValueConverter { } }
我不得不删除代码的内容,因为我正在进行的项目是高度机密的。
重build解决scheme,错误将消失。
我只是通过将目标从x64更改为x86来解决此问题。 显然Visual Studio是32位进程,它无法加载64位程序集,如果您的程序集是针对x64平台,并添加一些自定义控件Visual Studio无法加载它,并抛出此消息。
我找出了什么错。 尽pipevisual studio将这个错误当作第一个错误,但是我的编码确实存在其他错误,从而阻碍了转换器的组装。 因此,当VS去找组装时,它不在那里。
vs2008devise者的一些问题
做这个:
- closuresdevise师
- 全部重build(Alt + B + R)解决scheme
现在不会有任何错误。
如果您引用了外部项目,则必须指定程序集出现在项目引用中:
xmlns:mdls="clr-namespace:MyProject.Models;assembly=MyProject.Models"
我能够重现你的问题:
我在.NET Framework 4.0中创build了一个简单的WF。 重命名xaml文件。 作为重命名xaml文件的一部分,您必须在WorkflowInvoker对象上调用Invoke时手动重命名工作stream运行时名称。 我build立这个项目。 我得到了错误“'clr-namespace'URI引用了一个不包含在程序集中的命名空间'System'”。
我如何解决它:
我打开项目属性页面。 出于某种原因,目标框架已从.NET Framework 4.0切换到4.0客户端版本。 所以,我select了.NET 4.0并重build项目。 错误不存在了。
检查您的构buildconfiguration是否包含在当前(Active)构buildconfiguration中select的构build项目。
在摆脱Build架构(从x86到x64)之后,我遇到了这个问题,主wpf项目被取消了。
我已经遇到了一个C#WPF项目的这个问题。 它似乎是当您closures该项目与最后一次尝试与您的项目中的任何types的错误,甚至没有在XAML相关的名称空间问题中生成。
解决scheme是修复所有的.CS文件(或排除有问题的XAML / CS文件)以获取正在运行的版本重build并运行。
我花了近3个小时的时间才发现devise人员似乎正在运行的Debug版本必须是错误的。 这就是为什么在许多情况下,人们通过重build项目解决了这个问题,但是如果项目中存在代码错误,由于重build无法完成并且不能replacedevise器支持的版本,问题将无法自行解决。
希望这有助于!
Visual Studio保持还原回到奇怪的程序集文件path。 只要删除它引用的实际参考文件,然后将其添加到项目
我有同样的错误。 但显然,这只是因为我试图build立的解决scheme的path。 我的path/目录/文件夹名称包含一些空格。