我使用了 如何解决“找不到元素/属性 <xxx> 的架构信息”的第二种解决方案?
即用按钮创建了一个 XSD 来创建一个方案。我将 app.config 中的样式表更改为 app.xsd 但现在我收到警告:
全局元素“配置”已在 app.xsd 中声明
即使更改名称,也会显示警告。有人对此有解决方案吗?
我使用了 如何解决“找不到元素/属性 <xxx> 的架构信息”的第二种解决方案?
即用按钮创建了一个 XSD 来创建一个方案。我将 app.config 中的样式表更改为 app.xsd 但现在我收到警告:
全局元素“配置”已在 app.xsd 中声明
即使更改名称,也会显示警告。有人对此有解决方案吗?
重新启动对我不起作用,所以我想分享一下有效的方法。
首先,我刚刚升级到Windows 8。在此之前没有出现这个问题。这个问题只发生在我的一个app.config 文件中。所以我决定将有问题的 app.config 与一个好的 app.config 进行比较。在 Visual Studio 中,打开 app.config,我转到Xml -> Schemas
. 我注意到好的配置只检查了其中三个模式。坏的检查了相同的三个,加上一个 DotNetConfig.xsd。在我将Use
列更改为自动后,对于 DotNetConfig.xsd,问题就消失了。
我遇到了与您所指的问题类似的问题,我按照这些说明进行操作,一切都很好。首先确保在EnterpriseLibrary.Configuration.xsd
,%ProgramFiles%\Microsoft Visual Studio [version]\Xml\Schemas\
然后执行以下操作:
Enterprise Library 将架构安装到 Visual Studio 中,该架构提供 IntelliSense® 以在 Visual Studio XML 编辑器中编辑 Enterprise Library 配置文件。您必须先打开架构,然后才能使用它。
启用企业库配置架构
- 通过在解决方案资源管理器中双击它来打开 Visual Studio 中的配置文件。
- 在 XML 菜单上,单击 Schemas... 打开 XML Schemas 对话框。
- 找到名为 EnterpriseLibrary.Configuration.xsd 的架构。这是自动安装的。但是,如果它未显示在列表中,请单击添加并导航到文件夹 %Program Files%\Microsoft Visual Studio [版本]\Xml\Schemas,然后选择 EnterpriseLibrary.Configuration.xsd 并单击打开。
- 将 Use 列中的值更改为 Use this schema。然后单击确定。
文章链接在这里,希望对你有帮助
我的问题是我从 .Net 4.5 转到 .Net 4.0。为了解决这个问题,我将所有勾选的模式切换为自动。
我也为此挣扎了一段时间。原来,我的问题版本源于{PROJECTNAME}.SUO
Visual Studio 创建的隐藏文件。
我的猜测是,VS 会在这个文件中缓存 XSD 模式关联。更改目标框架后弹出警告,删除SUO文件并重新启动VS后警告消失。
使用问题中描述的症状并使用 Visual Studio 2013(更新 4),我可以在XML Schemas [sic] 对话框中看到两者都DotNetConfig.xsd
被DotNetConfig40.xsd
选中使用。
我正在使用 .NET Framework 4.0 项目。
这两个 XSD 文件相互冲突,每个文件都定义了相同的元素,从而导致发出警告。
这些模式文件包含在%programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\
文件夹中。
DotNetConfig.xsd
位于1033
子文件夹中,似乎是更新、更完整的版本。
无论我在 XML Schemas 中选择什么设置,我都无法取消选择或删除DotNetConfig40或DotNetConfig。我尝试了“删除”,并将 Use 参数从“使用此架构”更改为“自动”,然后更改为“不使用此架构”。
无论选择了什么,对于任何一个文件,当我返回对话框时,都将被选中使用。我还尝试了在按“确定”之前移动到另一行的技巧,但无济于事。
最后,我将DotNetConfig40.xsd
文件重命名为DotNetConfig40 DO NOT USE.xsd
以防止它被加载。这立即解决了问题。
我对不得不这样做感到不满意,并担心它是否会对其他项目产生不良的副作用。我会用我的结果更新这篇文章。
一旦我在编辑器中关闭导致这些警告的文件并重新编译,这个问题就得到了解决。
重新启动系统后,问题得到解决,这意味着我不再收到与该方案相关的任何警告。
所以似乎重新启动(可能还有一些隐式恢复/重置删除了警告)。
对我来说,我注意到我有一堆XML Schemas
重复的,我只是简单地标记为Don't Use
所有与 Visual Studio 2017 无关的。问题立即消失了
使用 Visual Studio 2015 社区版 - 在我的项目的根文件夹中生成 web.xsd 并将其添加到架构列表中清除了除一个警告之外的所有警告,
全局元素“配置”已被声明。
在文本编辑器中关闭 web.config 文件并重新构建项目会清除此警告。
Necromancing:使用 Visual Studio 2017 更新 2019
我试着做其他人建议的事情:
这一切都没有奏效。
但是,此处描述的 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 文件!
重新启动视觉工作室后,错误消失了。