c# - 标记在 XML 命名空间中不存在

标签 c# silverlight xaml resourcedictionary

这个错误似乎到处都是,但每个似乎都有自己的解决方案,但没有一个能解决我的问题。

我在制作(以及后来合并)的资源字典时遇到错误,即标记“ModelBindings”在 XML 命名空间“clr-namespace:Company.Project.Module.Folder;assembly=Company.Project”中不存在.模块'

我引用的程序集是自定义的,包含在解决方案中。不仅如此,我们还查看了放入资源字典所在项目的 bin 中的 dll,检查后它包含我想要引用的类。所以我知道 1. dll 位于正确的访问位置并且在引用中。 2.dll里面有我要的数据。

这里有一些资源字典的代码

命名空间列表

xmlns:modulemodel="clr-namespace:Company.Project.Module.Folder;assembly=Company.Project.Module"

创建要引用的资源

<modulemodel:ModelBindings x:Key="ModuleModelBindings"/>

与其他人的错误一样,智能感知表明它是正确的。此外,xmlns 列表是使用智能感知的自动完成创建的,并手动重新输入。都没有用。

我也尝试将所有内容移动到 app.xaml,但它仍然给我同样的错误。

如果我删除 ResourceDictionary 文件的主体,代码编译正常,但所有绑定(bind)都被破坏了。

最后,所有资源定义过去都在使用它们的 xaml 文件中定义,效果很好。只有在我尝试从不同的项目创建它们之后它才不起作用。我对此进行了更改以修复错误并返回到旧方法可能会出现问题。

编辑:这是我在显示我正在使用的资源字典方面所能做的最好的

<SharedResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:modulemodel="clr-namespace:Company.Project.Module.Folder;assembly=Company.Project.Module"
                    >
    <modulemodel:ModelBindings x:Key="ModuleModelBindings"/>
    
</SharedResourceDictionary>

如果我将 SharedResourceDictionary 替换为 ResourceDictionary,则会发生相同的错误。

app.xaml 和上面的 SharedResourceDictionary 比较在命名空间 Company.Project.Main 中,它引用了定义 SharedResourceDictionary 的地方以及我放入上面代码中的不同模块项目

最佳答案

根据 this article ,你只需按照以下步骤操作:

来自:

xmlns:ZZZ="clr-命名空间:YYY;assembly=YYY"

收件人:

xmlns:ZZZ="clr-命名空间:YYY;assembly="

为程序集留空值=

这是适合我的解决方案。

关于c# - 标记在 XML 命名空间中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6794482/

相关文章:

wpf - 将控件的当前实例绑定(bind)到附加属性

c# - IAsyncResult.AsyncWaitHandle.WaitOne() 在回调之前完成

c# - MySQL查询超时

c# - 如何更新 Silverlight 4 Datagrid 中的字段?

silverlight - 您可以在 Silverlight 中仅覆盖控件模板的一部分吗

silverlight - 绑定(bind)属性 setter 没有被调用

c# - 将资源分配给 CustomMessageBox.Content 时出现 ArgumentException

xaml - UWPCommunityToolkit DropShadowPanel 防止网格拉伸(stretch)

c# - 如何在 C# 中高效地编写大型文本文件?

c# - 使用 NHibernate 插入失败后 SQL 不可用