【问题标题】:VS 2015 RTM web.config The Global element 'configuration' has already been declaredVS 2015 RTM web.config 已声明全局元素“配置”
【发布时间】:2015-07-21 13:15:55
【问题描述】:

在 3 台全新安装 VS 2015 RTM 的 PC 上遇到此问题。在 VS 2013 中打开文件时没有问题。Fix: The Global element 'configuration' has already been declared 中描述的步骤和其他相关问题无济于事,因为 VS 忽略了 XML 模式对话框上的任何更改。想法?

【问题讨论】:

  • 这个错误是在您打开文件时显示的,还是在调试中,或实时显示?
  • @MacroMan 这些是打开 web.config 时显示的警告。
  • 还有this question,他的solution 对我也不起作用:我删除了所有引用,但它仍然会发生......真的希望这里有人找到解决方案!
  • 发生在转换之后还是之前?
  • @abeppler 什么转换?这是我在 ASP.NET 项目中打开 web.config 时 VS 产生的警告。

标签: xml web-config visual-studio-2015


【解决方案1】:

很遗憾,有多种情况会导致此问题。

最可能的问题是文档的架构设置不正确。当您在计算机上安装较新版本的 .NET 和/或 Visual Studio 时,可能会发生这种情况。不过修复很简单。

来自Visual Studio documentation:

  1. 在 XML 编辑器中打开一个文件。
  2. 在文档属性窗口中,单击架构字段上的按钮。

    显示 XML 模式对话框。该对话框列出了架构缓存中具有 .xsd 扩展名的所有架构(包括在 catalog.xml 文件中引用的架构),以及当前解决方案中的任何架构,在 Visual Studio 中打开,在 xsd:schemaLocation 属性中引用,或在 Schemas 属性中引用。

  3. 通过执行以下操作之一选择用于验证的架构:
    • 选择“XML 模式”对话框中列出的模式,单击“使用”列,然后选择“使用此模式”。 -或-
    • 选择 XML 架构对话框中列出的多个架构,右键单击并选择使用此架构。
  4. 点击确定。

具体来说,您希望将“DotNetConfig.xsd”架构的“使用”列设置为“自动”。

【讨论】:

  • 对我来说,我选择了重复的条目。取消选择重复项为我消除了错误。这篇文章让我走上了正确的道路。
  • 同上。关注重复项(例如,选择了两个具有相同名称的架构……一个基于 Visual Studio 12 文件夹,另一个位于 Visual Studio 14 文件夹)。
  • vs 2017 存在同样的问题(vs 2015 已卸载),我有 DotNetConfig.xsd 的重复条目,删除了 vs 2015 架构引用并修复了它。
  • 仅供参考...更改选项后,请确保单击不同的行以使更改保持不变,然后再单击“确定”。
【解决方案2】:

我在具有不同 Visual Studio 版本和迁移项目的机器上遇到了这个问题。架构缓存(菜单 Xml、项目架构...)显示来自当前 (14.0) 和旧版本(在我的情况下为 11.0)的 RazorCustomSchema.xsd、EntityFrameworkConfig_6_1_0.xsd 和 DotNetConfig.xsd 的双重条目。

从架构缓存中手动删除旧条目解决了这个问题,但我不得不从每个项目中删除旧条目。

我认为这是架构缓存的迁移问题。

【讨论】:

    【解决方案3】:

    在 VS 打开你的项目
    转到 XML 菜单
    选择架构...
    查找所有名为 DotNetConfigXX.xsd 的文件名,在我的例子中

    • DotNetConfig45.xsd
    • DotNetConfig.xsd

    在使用列上将它们全部设置为自动。
    这将导致只使用正确的文件

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      相关资源
      最近更新 更多