C#的新功能“无法找到类型或命名空间”

时间:2010-01-19 02:28:50

标签: c# visual-studio-2010

我感到很尴尬因为我确信答案很简单。为了增加一些背景知识,我是一名全职的java开发人员,拥有学士学位和2年的工作经验。我今天刚刚使用Visual Studio 2010和Google开始使用C#来填补C#和java之间的差异。

所以我有一个运行良好的控制台应用程序。所有的代码都在main方法中,因为我试图学习语法,并确保在我变得太复杂之前一切正常。

我将所有代码移出main方法并进入自己的类。

main方法和类具有相同的命名空间,但在单独的文件中定义。 一个叫Program.cs,另一个叫FileCache.cs。

FileCache.cs:

namespace SyncServer {
    public class FileCache {

        public FileCache() {
             //...code and such
        }

       //...methods and such
     }  
}

的Program.cs:

namespace SyncServer {
    class Program {

        static void Main(string[] args) { 
            FileCache fileCache = new FileCache(); //major jitterbugs;
        }
    }
}

找不到类型或命名空间名称“FileCache”(您是否缺少using指令或程序集引用?)

我没有得到其他编译错误或警告。另外,如果我将FileCache定义移动到Program.cs中,它编译得很好。我希望找到一个解决方案,我不必将同类文件放在同一个文件中。 :)

提前致谢!

3 个答案:

答案 0 :(得分:2)

试试这个:

  • 将FileCache代码移回program.cs文件
  • 删除FileCache.cs源文件
  • 在解决方案资源管理器中右键单击该项目,选择Add-> Class 注意:如果您没有看到带有“类”选项的“添加”子菜单,则表示您没有右键单击正确的位置。
  • 将新文件命名为FileCache.cs
  • 将代码粘贴回来,必要时进行清理
  • 如果你得到了他们并尝试给它一个编译

更深入的注意:通过这首歌曲和舞蹈的原因是为了确保“项目”知道您的源文件,并可以根据需要编译/链接/任何它。

答案 1 :(得分:1)

如果将FileCache替换为SyncServer.FileCache,是否会编译?

如果是这样,您需要添加using指令:

using SyncServer;

答案 2 :(得分:1)

我遇到了同样的问题。

另一个简单的解决方案:

在解决方案资源管理器中, - 右键单击​​FileCache。 - 单击“包含在项目中”。

你已经完成了。