Сломанный код Mono C # с использованием System.Windows.Forms

Пару месяцев назад я запустил относительно простое приложение на C #, которое я компилировал с помощью Mono.

Я пытаюсь возобновить работу над этим сегодня, и, несмотря на наличие исполняемого файла, доказывающего, что он был скомпилирован нормально, теперь он жалуется на System.Windows.Forms

C: \ Program Files \ Mono-2.0.1 \ bin> mcs ../projects/test_1/test.cs
../projects/test_1/test.cs(2,14): ошибка CS0234: Тип или имя пространства имен «Windows» не существует в пространстве имен «Система». Вам не хватает ссылки на сборку?
Ошибка компиляции: 1 ошибка (и), 0 предупреждений

Я нашел сообщение на форуме кого-то с такой же ошибкой, и мне было рекомендовано следующее:

mcs Program.cs -r: System.Windows.Forms.dll -r: System.Drawing.dll -v2

Однако аргумент -v2 не работает, и без него возникает ряд других ошибок пространства имен (ToolStripButton и аналогичные).

Я загрузил последнюю версию Mono 2.2, но это по-прежнему вызывает ту же ошибку.

Как я могу это исправить?


person Peter Boughton    schedule 15.02.2009    source источник


Ответы (1)


gmcs Program.cs -r:System.Windows.Forms.dll -r:System.Drawing.dll

gmcs использует профиль .NET 2.0.

person d0k    schedule 15.02.2009
comment
любопытно, что означает буква g? - person JaredPar; 15.02.2009
comment
Спасибо, это сработало. Не знаю, почему я не заметил, что это было необходимо в прошлый раз. - person Peter Boughton; 15.02.2009
comment
дженерики. Изначально компилятор был ветвью mcs для добавления дженериков. В конце концов, все, что было от C # 2.0, было помещено в него. Позже он был снова объединен с mcs, но так много людей привыкли называть gmcs, что это имя не пропало. - person jpobst; 15.02.2009