vs编译项目的bug关于"不明确的引用"

今天在vs2003下编译项目,发现vs编译时的有一个盲区。
情况如下:
解决方案中有两个项目,分别是web项目TestWeb,和类库项目TestFacade。
在TestFacade项目内定义一个枚举类型TestEnum(直接在TestFacade命名空间下定义).
在TestWeb项目下面新建一个文件夹CommonCode,在该文件夹内新建类文件。在其中也定义一个TestEnum枚举。这个枚举将出现在TestWeb.CommonCode命名空间下。
然后再TestWeb项目中另一个页面Test.aspx.cs中,引用下面命名空间。
using TestFacade;
using TestWeb.CommonCode;
在该Test.aspx.cs中直接使用TestEnum枚举。编辑后会提示:"TestEnum"是不明确的引用。因为有两处都定义了TestEnum。

但是,如果将TestWeb.CommonCode命名空间下的TestEnum枚举定义改动一下,将它的定义直接放置在TestWeb命名空间下。其它不变。再次编译后则完全通过了。系统没有再次提示:"TestEnum"是不明确的引用。而Test.aspx.cs中使用的TestEnum枚举被直接解释成在TestWeb命名空间下定义的TestEnum。
又测试了vs2005,也有同样的问题。

不知道是编译器的bug还是语法规则中本来就是这样定义的。希望有高人指点。
原文地址:https://www.cnblogs.com/sutengcn/p/1031739.html