81

我使用了 如何解决“找不到元素/属性 <xxx> 的架构信息”的第二种解决方案?

即用按钮创建了一个 XSD 来创建一个方案。我将 app.config 中的样式表更改为 app.xsd 但现在我收到警告:

全局元素“配置”已在 app.xsd 中声明

即使更改名称,也会显示警告。有人对此有解决方案吗?

4

11 回答 11

192

重新启动对我不起作用,所以我想分享一下有效的方法。

首先,我刚刚升级到Windows 8。在此之前没有出现这个问题。这个问题只发生在我的一个app.config 文件中。所以我决定将有问题的 app.config 与一个好的 app.config 进行比较。在 Visual Studio 中,打开 app.config,我转到Xml -> Schemas. 我注意到好的配置只检查了其中三个模式。坏的检查了相同的三个,加上一个 DotNetConfig.xsd。在我将Use列更改为自动后,对于 DotNetConfig.xsd,问题就消失了。

在此处输入图像描述

在此处输入图像描述

于 2013-01-03T04:16:19.500 回答
39

我遇到了与您所指的问题类似的问题,我按照这些说明进行操作,一切都很好。首先确保在EnterpriseLibrary.Configuration.xsd%ProgramFiles%\Microsoft Visual Studio [version]\Xml\Schemas\然后执行以下操作:

Enterprise Library 将架构安装到 Visual Studio 中,该架构提供 IntelliSense® 以在 Visual Studio XML 编辑器中编辑 Enterprise Library 配置文件。您必须先打开架构,然后才能使用它。

启用企业库配置架构

  1. 通过在解决方案资源管理器中双击它来打开 Visual Studio 中的配置文件。
  1. 在 XML 菜单上,单击 Schemas... 打开 XML Schemas 对话框。
  1. 找到名为 EnterpriseLibrary.Configuration.xsd 的架构。这是自动安装的。但是,如果它未显示在列表中,请单击添加并导航到文件夹 %Program Files%\Microsoft Visual Studio [版本]\Xml\Schemas,然后选择 EnterpriseLibrary.Configuration.xsd 并单击打开。
  1. 将 Use 列中的值更改为 Use this schema。然后单击确定。

文章链接在这里,希望对你有帮助

于 2012-08-14T09:42:43.453 回答
34

我的问题是我从 .Net 4.5 转到 .Net 4.0。为了解决这个问题,我将所有勾选的模式切换为自动。

于 2015-02-18T17:36:12.943 回答
23

我也为此挣扎了一段时间。原来,我的问题版本源于{PROJECTNAME}.SUOVisual Studio 创建的隐藏文件。

我的猜测是,VS 会在这个文件中缓存 XSD 模式关联。更改目标框架后弹出警告,删除SUO文件并重新启动VS后警告消失。

于 2015-11-20T09:37:59.337 回答
13

使用问题中描述的症状并使用 Visual Studio 2013(更新 4),我可以在XML Schemas [sic] 对话框中看到两者都DotNetConfig.xsdDotNetConfig40.xsd选中使用。

我正在使用 .NET Framework 4.0 项目。

这两个 XSD 文件相互冲突,每个文件都定义了相同的元素,从而导致发出警告。

这些模式文件包含在%programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\文件夹中。

DotNetConfig.xsd位于1033子文件夹中,似乎是更新、更完整的版本。

无论我在 XML Schemas 中选择什么设置,我都无法取消选择或删除DotNetConfig40DotNetConfig。我尝试了“删除”,并将 Use 参数从“使用此架构”更改为“自动”,然后更改为“不使用此架构”。

无论选择了什么,对于任何一个文件,当我返回对话框时,都将被选中使用。我还尝试了在按“确定”之前移动到另一行的技巧,但无济于事。

最后,我将DotNetConfig40.xsd文件重命名为DotNetConfig40 DO NOT USE.xsd以防止它被加载。这立即解决了问题。

我对不得不这样做感到不满意,并担心它是否会对其他项目产生不良的副作用。我会用我的结果更新这篇文章。

于 2015-01-23T16:50:20.223 回答
6

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

于 2015-05-28T22:20:10.753 回答
5

我注意到我的 VS2017 存在这个问题。

将 DotNetConfig.xsd 更改为使用“自动”解决了该问题。

在此处输入图像描述

于 2018-09-11T11:16:37.603 回答
4

重新启动系统后,问题得到解决,这意味着我不再收到与该方案相关的任何警告。

所以似乎重新启动(可能还有一些隐式恢复/重置删除了警告)。

于 2012-08-14T23:21:23.820 回答
4

对我来说,我注意到我有一堆XML Schemas重复的,我只是简单地标记为Don't Use所有与 Visual Studio 2017 无关的。问题立即消失了

于 2018-03-12T23:49:24.930 回答
3

使用 Visual Studio 2015 社区版 - 在我的项目的根文件夹中生成 web.xsd 并将其添加到架构列表中清除了除一个警告之外的所有警告,

全局元素“配置”已被声明。

在文本编辑器中关闭 web.config 文件并重新构建项目会清除此警告。

于 2017-10-18T15:05:56.483 回答
3

Necromancing:使用 Visual Studio 2017 更新 2019

我试着做其他人建议的事情:

  • 我试图重新启动系统:没有工作。
  • 打开 App.Config
  • 菜单:XML - 模式...
  • 看到有几个DotNetConfigXX.csd(XX要么是emoty,要么是一个数字)
  • 我试图将它们设置为自动,或“不使用此模式”
  • 我试图删除重复的架构

这一切都没有奏效。

但是,此处描述的 OLEG 解决方案有效。

我所要做的就是用以下代码替换所有使用的 DotNetConfigXX.xsd 文件中的以下部分(XX 为空,或数字)

 <xs:element name="startup" vs:help="configuration/startup" 
 ...
 </xs:element>

用。。。来代替:

<xs:element name="startup" vs:help="configuration/startup">
    <xs:complexType>
        <xs:choice minOccurs="1" maxOccurs="1">
            <xs:element name="requiredRuntime"     vs:help="configuration/startup/requiredRuntime">
                <xs:complexType>
                    <xs:attribute name="version" type="xs:string" use="optional" />
                    <xs:attribute name="safemode" type="xs:boolean" use="optional" />
                </xs:complexType>
            </xs:element>
            <xs:element name="supportedRuntime" minOccurs="1" maxOccurs="unbounded" vs:help="configuration/startup/supportedRuntime">
                <xs:complexType>
                    <xs:attribute name="version" type="xs:string" use="optional" />
                    <xs:attribute name="sku" type="xs:string" use="optional" />
                </xs:complexType>
            </xs:element>
        </xs:choice>
        <xs:attribute name="useLegacyV2RuntimeActivationPolicy" type="xs:boolean" use="optional" />
        <!-- see http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx -->
    </xs:complexType>
</xs:element>

不要忘记备份您的原始 .XSD 文件!

重新启动视觉工作室后,错误消失了。

于 2019-01-10T14:45:52.533 回答