Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
别名冲突命名空间c#_C# - Fatal编程技术网

别名冲突命名空间c#

别名冲突命名空间c#,c#,C#,寻找解释 我在两个不同的程序集中有相同的名称空间。说 NsA.xxx.NsB 现在我创建了一个别名来解决这个问题,并将其命名为xxx。 我将“global”作为另一个程序集的别名命名空间 问题是,“xxx”作为别名与“xxx”命名空间部分冲突。我用我的别名“XXX”解决了这个问题。现在没有冲突,每个人都恢复了快乐的想法 (对我来说)这是出乎意料的。这是一个bug吗?它不是bug。这就是当代码中使用的多个程序集具有相同名称的类时解决冲突的方法。C#区分大小写,因此命名空间xxx和命名空间别名x

寻找解释

我在两个不同的程序集中有相同的名称空间。说

NsA.xxx.NsB 
现在我创建了一个别名来解决这个问题,并将其命名为xxx。
我将“global”作为另一个程序集的别名命名空间

问题是,“xxx”作为别名与“xxx”命名空间部分冲突。我用我的别名“XXX”解决了这个问题。现在没有冲突,每个人都恢复了快乐的想法


(对我来说)这是出乎意料的。这是一个bug吗?

它不是bug。这就是当代码中使用的多个程序集具有相同名称的类时解决冲突的方法。

C#区分大小写,因此命名空间xxx和命名空间别名xxx之间有明显的区别

例如:

using Company.People.Employee;
//using Contractor.People.Employee;
using PEOPLE = Contractor.People;

//People.Employee is not the same as PEOPLE.Employee, even though they look very similar

你的问题很不清楚。请给出一个简短但完整的示例。如果存在冲突,则大写别名绝对不是解决此问题的方法。奇怪的是,System.Configuration命名空间包含两个部分。默认情况下,其中一个显然是系统的一部分,另一个可以通过引用引入。在这种情况下,如果查看引用,您将看到System.configuration——小写字母“c”,显然是为了避免文件名与String.configuration冲突。我想大概是这样吧。如果是这样,那么即使是微软也会这么做。