我有一个解决方案中有4个项目,分别是表示层,逻辑层,数据层和通用层。
在Common项目中有一个目录叫Data,其下有一个数据集Schedule.xsd,是使用设计器做好的。
在其它项目中分别引用Common.Data命名空间。我原来一直使用2003,都用得好好的,前两天装了2005后,该程序不能使用了,提示:
命名空间“Common”中不存在类型或命名空间名称“Data”(是缺少程序集引用吗?)

解决方案 »

  1.   

    你可能是ASP.NET的项目吧,在VS2005中要把代码放到App_Code目录下才行...
      

  2.   

    ASP.NET 网站布局
    App_Code
    包含您希望作为应用程序一部分进行编译的实用工具类和业务对象(例如 .cs、.vb 和 .jsl 文件)的源代码。在动态编译的应用程序中,当对应用程序发出首次请求时,ASP.NET 编译 App_Code 文件夹中的代码。然后在检测到任何更改时重新编译该文件夹中的项。
      

  3.   

    我是纯winform的项目啊,也要建立目录吗?
      

  4.   

    2005默认的主 窗体 已经 没有了namespace 
    你的引用 应该还要加上 你以前项目的主 名空间比如2003你是默认建立的winform  程序 test
    那么再 2005下你的引用应该是 using test.Common.Data;
      

  5.   

    应该和这没关系。因为我其它的命名空间代码都正常,我在逻辑层还引用了数据层的类,也使用using没有问题啊,就是数据集这一块不正常。
      

  6.   

    大家试一下,假设在Common项目下新建一个文件夹叫做Data,并在Data中放上一些类。然后在另一个项目中添加引用时,你会发现在“添加引用-项目”页上,只会出现项目,不会出现项目之下的文件夹,所以我怎么也无法引用Common.Data。
      

  7.   

    确实有你所说的问题,但是并不妨碍你引用啊..直接引用项目...关键看你的那些类的命名空间是什么...比如是namespace test{};在你的项目中添加引用后(也就是你的Common),然后在你的项目中加入命名空间:using test;然后在你的项目中就直接用你的类库中的类就Ok了..比如class1是类库中的一个类..直接class1 c=new class1();
    ....
      

  8.   

    关键一个问题就是你的那些类的命名空间要在本项目中引用进来..using ...基本上和你有没有那个Data文件夹没什么关系..