我正在尝试在我的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 { }
}
我必须删除代码的内容,因为我正在处理的项目是高度机密的。
答案 0 :(得分:54)
重建解决方案,错误就会消失。
答案 1 :(得分:38)
我刚刚通过将目标从x64更改为x86来解决这个问题。 显然Visual Studio是32位进程,它无法加载64位程序集,如果你的程序集是针对x64平台而你添加了一些自定义控件,则visual studio无法加载它并抛出此消息。
答案 2 :(得分:18)
我弄清楚出了什么问题。虽然visual studio将此视为第一个错误,但我的编码确实存在其他错误,这些错误阻止了转换器的组装。因此,当VS去寻找装配时,它就不存在了。
答案 3 :(得分:12)
vs2008设计师的一些问题
这样做:
现在不会有任何错误。
答案 4 :(得分:10)
如果您引用外部项目,则必须指定项目参考中显示的程序集:
xmlns:mdls="clr-namespace:MyProject.Models;assembly=MyProject.Models"
答案 5 :(得分:8)
我能够重现您的问题:
我在.NET Framework 4.0中创建了一个简单的WF。重命名了xaml文件。作为重命名xaml文件的一部分,您必须在WorkflowInvoker对象上调用Invoke时手动重命名工作流运行时名称。我建立了这个项目。我收到错误“'clr-namespace'URI指的是程序集中未包含的名称空间'System'。”
我如何解决它:
我打开项目属性页面。出于某种原因,目标框架从.NET framework 4.0切换到4.0客户端版本。所以,我选择了.NET 4.0并重建了该项目。错误不再存在。
答案 6 :(得分:3)
检查您的构建配置是否已在当前(活动)构建配置中选择了用于构建的项目。
我在摆弄Build架构(从x86到x64)之后遇到了这个问题,主要的wpf项目已被取消选择。
答案 7 :(得分:2)
我在C#WPF项目中遇到过这个问题。 当您在项目期间使用任何类型的错误关闭项目时,甚至在XAML中的相关命名空间中,似乎都会生成它。
解决方法是修复所有.CS文件(或排除有问题的XAML / CS文件)以获得正在运行的版本重建并运行。
我花了将近3个小时才发现设计师似乎正在运行的Debug版本必定是错误的。这就是为什么在很多情况下人们使用Rebuild项目解决了这个问题,但是如果你在项目中存在代码错误,那么问题将无法自行解决,因为Rebuild无法完成并且不会替换设计器支持的版本。
希望这有帮助!
答案 8 :(得分:1)
Visual Studio不断恢复奇数程序集文件路径。只需删除它所引用的实际参考文件,然后将其添加到项目中
答案 9 :(得分:0)
我有同样的错误。但显然,这只是因为我试图建立的解决方案的路径。 我的路径/目录/文件夹名称包含一些空格。