C# 如果名称空间声明(xmlns)关闭,会发生什么情况?

C# 如果名称空间声明(xmlns)关闭,会发生什么情况?,c#,wpf,C#,Wpf,阅读前注意:这是一个一般性问题,我选择询问某个特定的扩展名,但答案应该是相同的。。。我想是吧 我已经开始在我的项目中实现本地化,我正在使用WPF本地化扩展lib,但我有几个问题: 为了使库工作,需要将此定义添加到每个xaml页面: xmlns:lex=”http://wpflocalizeextension.codeplex.com“ 关于这一点,我有两个问题: 1.如果URL因未知原因关闭了怎么办?我的应用程序会失去扩展的所有功能吗?有没有一个选项可以让某人避免使用url,而是使用一些本地文件

阅读前注意:这是一个一般性问题,我选择询问某个特定的扩展名,但答案应该是相同的。。。我想是吧

我已经开始在我的项目中实现本地化,我正在使用
WPF本地化扩展
lib,但我有几个问题:

为了使库工作,需要将此定义添加到每个xaml页面:
xmlns:lex=”http://wpflocalizeextension.codeplex.com“

关于这一点,我有两个问题:
1.如果URL因未知原因关闭了怎么办?我的应用程序会失去扩展的所有功能吗?有没有一个选项可以让某人避免使用url,而是使用一些本地文件或其他东西…?
2.我使用的是calibrun.micro,显然我的应用程序有几个页面,它们都通过
ContentControl
嵌入到
ShellView.xaml
页面中。是否有一个选项可以只在shellview中编写名称空间声明(xmlns:lex等…-请参阅下面的代码),并使其自动影响所有其他页面?必须在每个xaml页面中指定声明,这听起来非常低效

额外信息:

扩展页:
命名空间声明/定义:

    xmlns:lex="http://wpflocalizeextension.codeplex.com"
    lex:LocalizeDictionary.DesignCulture="en"
    lex:ResxLocalizationProvider.DefaultAssembly="WpfApplication3"
    lex:ResxLocalizationProvider.DefaultDictionary="Strings"

1-该url只是一个符号。它没有指向实际的互联网地址。它可以是“”,只要它与您所引用的程序集中的中定义的xml命名空间完全相同,它就仍然可以工作。 要清楚的是,它只是一个名字(碰巧有一个类似互联网的格式),而不是一个网址


2-不,无法声明项目范围的
xmlns
。这是我们对微软最强烈的抱怨之一,但他们放弃了WPF,转而支持WinRT或WinRT,所以我不希望有解决办法。

1-该url只是象征性的。它没有指向实际的互联网地址。它可以是“”,只要它与您所引用的程序集中的中定义的xml命名空间完全相同,它就仍然可以工作。 要清楚的是,它只是一个名字(碰巧有一个类似互联网的格式),而不是一个网址


2-不,无法声明项目范围的
xmlns
。这是我们对微软最强烈的抱怨之一,但他们放弃了WPF,转而支持WinRT或WinRT,所以我不希望有任何解决办法。

对于第二个问题,Resharper()通过在按下ALT+Enter时自动在XAML中添加对象的名称空间来解决,这为我节省了不少时间。可能值得下载一份试用版-许可证并不太贵either@charleh这是一个我实际上非常不喜欢的重竖琴功能。因为它添加了
clr命名空间
引用类型,而实际上它应该添加相关的
xmlns
引用类型。第三方(如DevExpress或Infragistics)通常将许多CLR名称空间映射到单个
xmlns
,因此在这种情况下,R#的功能不好。是的,我同意,我曾多次将xmlns称为
controls1
controls2
controls3
因为映射到Telerik的UC套件,但它为您自己的解决方案中的组件节省了成本(除非您提供统一的ns)。我仍然觉得它有用!对于第二个问题,Resharper()通过在按下ALT+Enter时自动为XAML中的对象添加名称空间来解决这个问题,这为我节省了不少时间。可能值得下载一份试用版-许可证并不太贵either@charleh这是一个我实际上非常不喜欢的重竖琴功能。因为它添加了
clr命名空间
引用类型,而实际上它应该添加相关的
xmlns
引用类型。第三方(如DevExpress或Infragistics)通常将许多CLR名称空间映射到单个
xmlns
,因此在这种情况下,R#的功能不好。是的,我同意,我曾多次将xmlns称为
controls1
controls2
controls3
因为映射到Telerik的UC套件,但它为您自己的解决方案中的组件节省了成本(除非您提供统一的ns)。我仍然觉得它有用!它们是在这个文件中定义的:奇怪的是,代码中的URL与OP使用的不同…我使用的是文档中编写的内容。。。还有@HighCore,谢谢!这很好,只要它不会有一天停止工作。至于2。。。好吧,至少我知道我不是唯一一个有“问题”的人/它们是在这个文件中定义的:奇怪的是,代码中的URL与OP使用的不同…我使用的是文档中编写的内容。。。还有@HighCore,谢谢!这很好,只要它不会有一天停止工作。至于2。。。好吧,至少我知道我不是唯一一个有“问题”的人/