在工程中导入一个Web Service,发现竟然有编译错误,其他的工程没有问题,后来发现是因为工程的Namespace和工程的Service同名,也就是说,工程可能叫MyService,而创建的那个Web Service也叫MyService,所以创建出来的默认的namespace也是MyService,而VS创建的Web Service的stub会引用原来的namespace,所以就会导致引用MyService这个名字,但是编译器不知道你要找这个namespace还是类。因为处于同一个namespace里面的时候可以只用短类名就行了,但是生成的stub是使用全限定名的。

因为这个鄙视一下微软,因为这个是它推荐的命名规范导致的,而Java,package的名字推荐全部使用小写,而类名单词首字母大写,这样就不会出现类似的问题了。

(Visited 149 times, 1 visits today)