A、B、C三个工程,B引用了A,C引用了A和B,那么A中的命名空间在C中会发生冲突,应该怎么解决?

解决方案 »

  1.   

    我的意思是:
    A的namespace为NSA
    B引用了A,故B中有NSA和NSB
    C引用了A和B,故C中有两个NSA
      

  2.   

    B引用了A,故B中有NSA和NSB
    C引用了A和B,故C中有两个NSA
    -------------------------------------------------------------------------------------
    这个谁告诉你的?你要去试呀,想当然没用的。B和C的名字空间都是在他们各自的工程中定义的,跟A无关,只要你不要定义A,B,C的名字空间相同就可以。
      

  3.   

    B引用了NSA,又不是定义了NSA,怎么会发生冲突?
      

  4.   

    试过了
    Type.dll中有所有类型的定义
    WebService引用了Type
    XmlParser引用了Type
    WebPortal引用了WebService和XmlParser,结果提示其中一个类型在两个文件(分别来自WebService和XmlParser)中出现。
      

  5.   

    你的问题不是命名空间冲突,而是类型名称冲突,解决方法使用全名限定或者使用using:using AAA = WebService.冲突类型;
    using BBB = XmlParser.冲突类型;在代码中凡是使用WebService的地方,用AAA, XmlParser的地方用BBB.
      

  6.   

    A、B、C三个工程,B引用了A,C引用了A和B
    那你就改成C就只引用B,这样C应该也引用A吧!
      

  7.   

    用全名也冲突的,我试过了,有两个Type.TypeName。
    C中是只引用了B,VS自动把A也添加进去了。
      

  8.   

    不知道跟使用WebService是否有关系,WebService的wsdl文件中包含了那些类型的定义。
      

  9.   

    绝不是引用的问题,楼主先耐烦的把问题讲清楚,别让大家在下面猜。WebPortal引用了WebService和XmlParser,结果提示其中一个类型在两个文件(分别来自WebService和XmlParser)中出现。
    这是绝对没问题的,所有的项目都引用mscorlib.dll,System.String都是定义在这个里面的,怎么没出现你的问题?所以把问题讲清楚先
      

  10.   

    Error 1 The type 'CoffeeStudio.Album.WebService.SErr' exists in both 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\dev_album_webportal\d47a8e89\b30ff410\App_WebReferences.r66jx9q3.dll' and 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\dev_album_webportal\d47a8e89\b30ff410\assembly\dl3\8271bd78\9a966b18_6fecc501\Type.DLL' C:\Documents and Settings\CooledCoffee\My Documents\My Projects\Album.net\WebPortal\App_Code\Cache.cs 137 12 http://localhost/dev/Album/WebPortal/
      

  11.   

    估计你是循环引用了,而不是冲突的问题,循环引用指的是下面的情况:
    (1) A引用B  同时 B引用A  (不允许)
    (2) A引用C 同时C引用B ,B引用A  (循环,不允许)
      

  12.   

    不是循环引用,循环引用会根本无法生成。要么就是你把一个类在不同的DLL里面定义了两次,要么就是缓冲区没有清理干净的缘故,把你能找到的你的项目的DLL全部删掉,然后重新生成它们。
      

  13.   

    删了重新引用还是一样,而且发现冲突的那些都是在WebService中用到的。
      

  14.   

    搞定了,之前将Type与WebService共享一个namespace,而webservice又自动生成了它所用到的类型,所以冲突了。