当重新创建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表示该属性应指定一个网址。
答案 0 :(得分:0)
似乎xmlns
属性不必机器解释,因为它不需要用于检索。来自维基百科吧......现在......就是这个描述。
命名空间名称是统一资源标识符(URI)。通常,为给定XML词汇表的命名空间选择的URI描述在定义词汇表的作者或组织的控制下的资源,例如作者的Web服务器的URL。但是,命名空间规范不要求也不建议使用命名空间URI来检索信息;它被XML解析器简单地视为字符串。
鉴于此,很容易提供一个非约束但准确的URI,例如指定它的人控制的URL,即使该控件仅用于保证唯一性并且不能提供任何自动化功能