Новое в C # "Тип или пространство имен не может быть найдено" - PullRequest
1 голос
/ 19 января 2010

Я чувствую себя неловко, потому что я уверен, что ответ на этот вопрос прост. Просто, чтобы добавить немного фона, я полностью занятый Java-разработчик со степенью бакалавра и 2-х летним опытом. Я только начал C # сегодня, используя Visual Studio 2010 и Google, чтобы заполнить различия между C # и Java.

Итак, у меня было консольное приложение, которое хорошо работает. Весь код был в основном методе, потому что я пытался изучить синтаксис и убедиться, что все работает, прежде чем я стал слишком сложным.

Я пошел, чтобы переместить весь код из метода 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 ]

2 голосов
/ 19 января 2010

Попробуйте это:

  • Переместите ваш код FileCache обратно в файл program.cs
  • Удалить исходный файл FileCache.cs
  • Щелкните правой кнопкой мыши проект в обозревателе решений, выберите Add-> Class Примечание. Если вы не видите подменю «Добавить» с параметром «Класс», вы не нажмете правой кнопкой мыши в нужном месте.
  • Назовите новый файл FileCache.cs
  • Вставьте свой код обратно, очистите при необходимости
  • Перекрестите их, если они у вас есть, и попробуйте дать ему компиляцию

Более глубокое примечание: причина для прохождения этой песни и танца заключается в том, чтобы "Project" знал о вашем исходном файле и мог компилировать / ссылаться / что угодно по мере необходимости.

1 голос
/ 26 сентября 2010

Я столкнулся с той же проблемой.

Другое простое решение:

В обозревателе решений: - Щелкните правой кнопкой мыши FileCache.- Нажмите Включить в проект.

и все готово.

1 голос
/ 19 января 2010

Компилируется ли он, если заменить FileCache на SyncServer.FileCache?

Если это так, вам нужно добавить директиву using:

using SyncServer;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...