【问题标题】:Schema Issue: The global element ' ' has already been declared架构问题:已声明全局元素“”
【发布时间】:2014-08-12 18:11:47
【问题描述】:

我遇到的问题与这里的帖子非常相似: "Global element 'configuration' has already been declared" in web config

不过我还不清楚它的解决方案。

当我打开视图下列出的 web.config 文件时,我也收到大约 40 条警告告诉我:

全局元素“ ”已被声明。这包括配置、位置、configSections、appSettings 等。

我是否在某处遗漏了 .xsd 文件?

当我点击“XML”选项卡和“Schemas...”选项时, 它告诉我我正在使用以下 .xsd:

  • RazorCustomSchema.xsd
  • EntityFrameworkConfig_5_0_0.xsd
  • DotNetConfig40.xsd

我开始想,也许我需要在其中添加一个 EnterpriseLibarary.xsd, 但我不确定这是否是最好的解决方案。如果是的话,我不知道 在哪里可以找到特定的 .xsd。因此,如果有必要,如果 有人可以指出我在哪里找到它以及如何正确添加它的正确方向。

谢谢!

【问题讨论】:

  • 消息告诉你元素被声明了两次。您不想添加额外的架构文档;您想弄清楚您已经包含的架构文档中的哪些被包含了多次或有重复的材料。
  • 我忘了补充一点,我也有 DotNetConfig.xsd 作为在“架构...”下为我列出的 .xsd 列表的一部分,看来删除 DotNetConfig.xsd 是最重要的摆脱这些警告的效果。但是,当我这样做时。它给了我以下信息。 “找不到元素‘启用’的架构信息”我收到类似的消息,如“ConnectionName”、“ErrorPage”等。所以我仍然不确定如何解决这个问题,除非我尝试删除 DotNetConfig.xsd。我担心这样做可能会导致更多问题发生。我应该试试吗?

标签: xml xsd web-config


【解决方案1】:

打开 XML->Schemas... 以获取当前 XML 模式集。

您可能选择了一个或多个重复或重叠的架构文件。 (例如 DotNetConfig.xsd 和 DotNetConfig45.xsd)。

您只需要其中一个,因此在“使用”列下将另一个设置为自动。

【讨论】:

  • 这适用于任何 xml 文件。甚至那些你正在创建 xsd 文件并告诉 VS 生成一个 xsd 文件来检查你当前工作的地方。
【解决方案2】:

这很奇怪,但对我来说,一旦我在编辑器中关闭导致这些警告的文件并重新编译,这个问题就得到了解决。

【讨论】:

  • 疯了,但这对我有用。我的是用 VS2013 构建的 ASP.NET MVC 解决方案。我毫无问题地切换到VS2015,然后有一天发生了这种情况。在 VS2013 中打开解决方案 - 一切正常;回到VS2015,问题就在那里。关闭 web.config 并重新编译,它工作。不过想知道真正的原因是什么。
猜你喜欢
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多