Тип Секундомер не найден

Я изучаю C# с помощью Xamarin Studio 4.0.3 (ранее MonoDevelop) в Windows 7. Попытка использования класса Stopwatch (только фрагмент кода)

using System.Diagnostics;

class MainClass {
    public static void Main (string[] args) {
         Stopwatch stopWatch = new Stopwatch();                 
    }
}

Я получил:

Ошибка CS0246: Не удалось найти имя типа или пространства имен «Секундомер». Вам не хватает директивы using или ссылки на сборку?

Моя целевая структура: Mono .NET 4.0. Согласно MSDN Должен быть реализован класс секундомера.

Кстати, класс DateTime работает нормально.

Вопрос: я что-то упускаю (правильное пространство имен, привязка библиотек) или секундомер просто не реализован?


person user2314351    schedule 24.04.2013    source источник
comment
Я только что создал новое консольное приложение в Xamarin Studio 4.0.3, 64-разрядная версия Windows 7, скопировал и вставил ваш код, и он отлично работает.   -  person Fishcake    schedule 24.04.2013
comment
Вы нашли решение?   -  person Luigi Saggese    schedule 17.01.2014


Ответы (5)


Хотя вы говорите, что включили директиву using, сообщение об ошибке требует другого решения.

Убедитесь, что эта строка находится в самом верху того же .cs файла, что и ваш метод:

using System.Diagnostics;

В Visual Studio это можно увидеть, щелкнув значок под ошибкой:

Возможно, в Xamarin Studio есть аналогичная функция.

person Danny Beckett    schedule 24.04.2013
comment
@ Дэнни Беккет Как видите, мой код я добавил, используя System.Diagnostics. Завершение кода не показывает System.Diagnostics.Stopwatch возможности. Я использую Xamarin Studio, а не VS. - person user2314351; 24.04.2013
comment
@ ДэнниБеккет Да. Они оба в Main.cs. - person user2314351; 24.04.2013

Совсем недавно у меня была похожая проблема в студии Xamarin для Mac. Я создавал проект ПЛК для базы данных, которая должна была использоваться приложениями iOS, Android и Windows Store.

Проверьте параметры файлов проекта ПЛК — щелкните правой кнопкой мыши заголовок проекта и выберите «Параметры». Перейдите к сборке целей и снимите флажок Silverlight 5/Windows Phone.

Если это ПЛК, вам доступно только подмножество платформы, поскольку оно содержит только функциональные возможности, которые можно развернуть на всех выбранных устройствах. Надеюсь это поможет.

С уважением Бретт

person Thedood    schedule 25.03.2014

Недавно я столкнулся с той же проблемой.

Моя проблема заключалась в том, что я создал новый проект и пытался использовать секундомер в новом проекте, в котором еще не было ссылок.

Я щелкнул правой кнопкой мыши папку ссылок на мои новые проекты -> Изменить ссылки и добавил ссылку на System.

Спасли, построили и все стало хорошо на свете.

person Des Horsley    schedule 11.04.2015
comment
Мой был похож, он работал на VS 2017, а затем я открыл его в 2015 году, и он потерял все свои обычные ссылки на фреймворк. Возможно, какая-то функция, которую я не понимаю. - person Luke Puplett; 16.07.2017

=> Секундомер определяется в Системных (в System.dll) сборках,

=> Проверьте, включен ли System.dll в ссылки (если он не добавлен, его можно добавить, щелкнув правой кнопкой мыши ссылки в обозревателе решений)

=> Добавьте пространство имен с помощью System.Diagnostics;

=> Подробнее см. на https://msdn.microsoft.com/en-us/library/System.Diagnostics.Stopwatch(v=vs.110).aspx

person RotatingWheel    schedule 07.07.2015

У меня такая же проблема. Все используемые заявления и ссылки были на месте. При наведении указателя мыши на круглую скобку Intellisense даже реагировал «Инициализирует новый экземпляр класса System.Diagnostics.Stopwatch», но при этом по-прежнему выдавал сообщение об ошибке при компиляции.
После сохранения текущего состояния проектов, закрытия VS, повторного -открыв VS и проект, ошибка пропала.

person Andi Truman    schedule 27.10.2015