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