俺一直都是这样的在做三层结构的代码,在业务层的类里定义方法,在UI层里调用,一直都是很好的,今天不知道为什么,在业务层的类里定义新的方法(PUBLIC),在UI层里调用,竟然提示Error 14 'xxx.BLL.Gateway.xxxGateway' does not contain a definition for 'getone' and no extension method 'GetAllUser' accepting a first argument of type 'xxx.BLL.Gateway.xxxGateway' could be found (are you missing a using directive or an assembly reference?),旧的方法调用就没事,新的方法,无论多简单的方法都不行,各位老大,见多识广,帮帮小弟吧!

解决方案 »

  1.   

    你是通过类直接调用吗 ?是不是忘了STATIC```
      

  2.   

    两位老大动作真快,感动中...,先报告CODE163兄弟,不是类直接调用,可以这样说,类里旧的方法,我复制一个改个名字,同样在其他地方认不到,在类自己本身里可以看到.
    再报告SK_Aqi兄弟,我已经把业务层的项目重新编译过了,没问题,就是和UI层一起编译的时候就提示认不到新加的那个方法.真不知道那动了.呵呵,郁闷.
    再次感谢两位热心的老大.
      

  3.   

    作为公共方法,它是存放在APP_Code中,可以直接的调用,但它要是public的关键字声明
    不是的话当然就找不到了,你看下其他的公共方法怎么写在类里的
      

  4.   

    SK_Aqi兄弟,不是公共的方法,只是业务层里,某个类的PUBLIC方法而已,供UI层调用的,同样的旧方法在类里就可以自由的调用,今天新添加的方法就不行,即使是你拷贝同一个类里的同一个方法,然后改个名字,呵呵,在其他地方就是看不到,也调用不了.
      

  5.   

    重新编译类文件,再引用,查看dll方法是否存在。