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 оказался случайным файлом, не относящимся к проекту. Решение было таково:
- В контекстном меню окна проекта поставить галку «Параметры отображения->Показать все файлы».
- В списке файлов проекта появится этот самый Designer.cs, однако имя написано серым цветом, а иконка бледная. То есть, файл не относится к проекту.
- Щёлкнуть правой кнопкой по нему и выбрать «Include to project».
- Проблема решена. 🙂
Поделиться в соцсеть
Оставить комментарий