一个dll文件 和 项目
dll内部定义了一个命名空间,跟项目的命名空间一样。
而且同样的命名空间下还有几个同样类名的类型,内部实现不同。
现在编译冲突,如何解决呢?
项目已经写了很多了,命名空间类名引用错综复杂。dll要用,项目要写,期待高招
VS有“重构”功能,你可以选中你要修改的命名空间,选择重构-重命名。
这个功能确实不错,可惜我只有项目的部分代码,这样做是否要将整个项目命名空间修改呢?
只在发生冲突的类里,有解决办法么?
@_刘宏伟_: 修改命名空间的话就是整个项目,你可以重构类的名字。同时。重构的时候还有个预览,可以选择不应用,当然会比较麻烦。
问题已处理
http://topic.csdn.net/u/20120914/17/d3945629-9441-4b7e-93e3-14395f4fc8e0.html?1093228795
处理方法摘要:
1、被引用的dll》属性》别名,默认是global,自己定义一个。(重名为pis)
2、在使用该dll的类中,使用extern alias 别名
3、再使用using简化命名空间引用,例如:
extern alias pis;
using pislib = pis.a.b.c;
将类中无法找到类型的使用pislib.。。。方式修改,ok,蛋疼的问题处理了。