Персональный сайт Александра Тауениса » Mono Error CS0103 — неочевидное решение

Mono Error CS0103 — неочевидное решение

Решил подтвердить знание толка в извращениях. 🙂 Создал проект в MonoDevelop (MD). Дабы помучаться, графический интерфейс решено сделать на Windows Forms, а не GTK#. 🙂 Скачал IDE для WinForms, присобачил к проекту этой самой формочной IDE файл xxx.Designer.cs и перезагрузил сам xxx.cs в MD. Думал, всё, сейчас запущу и увижу заветное серое окно… Но не тут-то было: оказалось, что библиотеки System.Windows.Forms и System.Drawing компилятору неизвестны. 0_0 Добавил их в проект через Решение->Ссылки. Ладно, успокоился. Снова запускаю проект…Error CS0103: The name `InitializeComponent' does not exist in the current context (CS0103) Всё это на, казалось бы, самой простой строке:

public frmMain()
{
InitializeComponent();
}

Глаза на лбу, чё такое?! Подпрограмма «InitializeComponent» находится в файле xxx.Designer.cs, который, в свою очередь относится к тому же размазанному классу (partial class) «xxx», что и основной файл xxx.cs. Внимательное изучение солюшена (проекта VS/MD) показало, что этот самый .Designer.cs оказался случайным файлом, не относящимся к проекту. Решение было таково:

  1. В контекстном меню окна проекта поставить галку «Параметры отображения->Показать все файлы».
  2. В списке файлов проекта появится этот самый Designer.cs, однако имя написано серым цветом, а иконка бледная. То есть, файл не относится к проекту.
  3. Щёлкнуть правой кнопкой по нему и выбрать «Include to project».
  4. Проблема решена. 🙂


Оставить комментарий

Защита от спама * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.