Visual Studio .config文件<configuration>元素警告</configuration>

时间:2014-04-30 15:35:11

标签: visual-studio xsd configuration-files

当重新创建WPF应用程序时,Visual Studio 2013(使用.NET Framework 4.5.1)生成的默认App.config文件将如下所示。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup> 
</configuration>

为此,我可能会添加一些定义某些应用程序设置的元素。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup> 
  <appSettings>
    <add key="ConfigureThisThing" value="123" />
    <add key="SwitchThatThing" value="True" />
  </appSettings>
</configuration>

建立后,configuration这个词会加下划线,并会有警告。

The 'configuration' element is not declared.

要消除警告,似乎有必要定义<configuration>属性xmlns

是否有某个默认属性值可用于非约束,并且只是为了摆脱警告?

particular stackoverflow answer暗示

xmlns="schema URL"

虽然它确实摆脱了警告,但它似乎不是一个正确形成的URL,所以它似乎没有意义。如果可以支持或解释或证明这样的属性值,那么我很乐意接受它,但是在这个MSDN configuration element description似乎没有信息可以证明这样的属性值。

MSDN document表示该属性应指定一个网址。

1 个答案:

答案 0 :(得分:0)

似乎xmlns属性不必机器解释,因为它不需要用于检索。来自维基百科吧......现在......就是这个描述。

  

命名空间名称是统一资源标识符(URI)。通常,为给定XML词汇表的命名空间选择的URI描述在定义词汇表的作者或组织的控制下的资源,例如作者的Web服务器的URL。但是,命名空间规范不要求也不建议使用命名空间URI来检索信息;它被XML解析器简单地视为字符串。

鉴于此,很容易提供一个非约束但准确的URI,例如指定它的人控制的URL,即使该控件仅用于保证唯一性并且不能提供任何自动化功能