我使用了第二个解决方案 How to resolve "Could not find schema information for the element/attribute <xxx>"?
即。使用按钮创建了一个XSD来创建一个方案。我将app.config中的样式表更改为app.xsd,但现在我收到了警告:
全局元素'配置'已在app.xsd
中声明即使更改名称,也会显示警告。 有人有解决方案吗?
答案 0 :(得分:167)
重新启动对我不起作用,所以我想分享一些有效的方法。
首先,我刚刚升级到Windows 8.此问题在此之前未发生过。这个问题只发生在我的app.config文件的一个中。所以我决定将有问题的app.config与一个好的app.config进行比较。在Visual Studio中,打开app.config后,我转到了Xml -> Schemas
。我注意到好的配置只检查了其中三个模式。坏的一个检查了相同的三个,加上一个DotNetConfig.xsd。在我将Use
列更改为自动后,对于DotNetConfig.xsd,问题就消失了。
答案 1 :(得分:35)
我对你提到的问题有类似的问题,我遵循了这些指示,一切都很好。首先确保EnterpriseLibrary.Configuration.xsd
位于%Program Files%\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 [version] \ Xml \ Schemas \,然后选择EnterpriseLibrary.Configuration.xsd并单击“打开”。
- 醇>
将“使用”列中的值更改为“使用此架构”。然后单击“确定”。
该文章的链接是here,希望这会有所帮助
答案 2 :(得分:31)
我的问题是我从.Net 4.5转到.Net 4.0。为了解决这个问题,我将所有勾选的模式切换为自动模式。
答案 3 :(得分:12)
根据问题中描述的症状,并使用Visual Studio 2013(Update 4),我可以在 XML Schemas [sic]对话框中看到DotNetConfig.xsd
和{{ 1}}被选中使用。
我正在使用.NET Framework 4.0项目。
两个XSD文件相互冲突,每个文件定义相同的元素,导致发出警告。
这些架构文件包含在DotNetConfig40.xsd
文件夹中。
%programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\
位于DotNetConfig.xsd
子文件夹中,似乎是更新,更完整的版本。
无论我在XML Schema中选择了什么设置,我都无法取消选择,或删除 DotNetConfig40 或 DotNetConfig 。我尝试了“删除”,并将使用参数从“使用此架构”更改为“自动”,然后“不要使用此架构“。
无论选择什么,对于任一文件,当我返回到对话框时,两者都将被选中使用。在尝试“确定”之前,我也尝试了移动到另一行的诀窍。
最后,我将1033
文件重命名为DotNetConfig40.xsd
以防止它被加载。这立即解决了这个问题。
我不满意必须这样做,并担心它是否会对其他项目产生不良副作用。我会用我的结果更新这篇文章。
答案 4 :(得分:12)
我也挣扎了一段时间。事实证明,我的问题版本源自Visual Studio创建的隐藏{PROJECTNAME}.SUO
文件。
我的猜测是,VS会在此文件中缓存XSD架构关联。更改目标框架后弹出警告,删除SUO文件并重新启动VS后,它们消失了。
答案 5 :(得分:6)
我在编辑器中关闭导致这些警告并重新编译的文件后,此问题得到解决。
答案 6 :(得分:4)
重新启动系统后,问题就解决了,这意味着我不再收到任何与该计划相关的警告。
所以似乎重新启动(可能还有一些隐式恢复/重置删除了警告)。
答案 7 :(得分:3)
对我来说,我注意到我有一堆XML Schemas
被复制,我只是简单地标记为Don't Use
所有与Visual Studio 2017无关的问题。问题立即消失
答案 8 :(得分:3)
答案 9 :(得分:2)
使用Visual Studio 2015社区版 - 在我的项目的根文件夹中生成web.xsd并将其添加到架构列表中清除除了其中一个警告之外的所有内容,
全球元素&#39;配置&#39;已经宣布&#39;。
在文本编辑器中关闭web.config文件并重建项目会清除此警告。
答案 10 :(得分:1)
更新:使用Visual Studio 2017更新2019
我试图做别人建议的事情:
所有这些均无效。
但是,OLEG的解决方案 as described here有效。
我要做的就是用以下代码替换所有使用过的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文件!
Visual Studio重新启动后,错误消失了。