Я запускаю Ubuntu 12.04 LTS. Для испытания некоторых упражнений.NET я установил ниже моно пакетов:
sudo apt-get install mono-runtime mono-mcs mono-vbnc
Теперь, у меня есть моно компилятор до-диеза хорошо работающие (мГц). Однако компилятор VB.NET (vbnc) бросает ниже ошибки:
Библиотека 'System.Design.dll' не могла быть найдена
Какая-либо идея, что я пропустил?
vbnc по умолчанию добавит много ссылок, и, очевидно, некоторые из них не установлены по умолчанию в Ubuntu.
Я не знаю, что вам нужно установить, чтобы получить System.Design.dll, но вы можете отключить ссылки по умолчанию, передав -noconfig:
vbnc -noconfig test.vb
Обратите внимание, что это также отключит несколько других функции по умолчанию, в первую очередь импорт по умолчанию также будет отключен.
Так, например, этот код:
Class Test
Shared Sub Main
Console.WriteLine ("Hello World")
End Sub
End Class
при компиляции следующим образом:
vbnc -noconfig test.vb
потерпит неудачу с:
test.vb (3,21) : error VBNC30451: 'Console' is not declared. It may be inaccessible due to its protection level.
Исправление легко, просто передайте -imports: vbnc
vbnc -noconfig test.vb -imports:System
и теперь он должен скомпилироваться просто отлично.
Я решил ту же проблему следующим образом:
sudo apt-get install libmono-system-design4.0-cil
Рольф, к сожалению, твое решение не работает в Ubuntu 12.04.2 LTS:
$ vbnc -noconfig test.vb -imports:System
Visual Basic.Net Compiler version 0.0.0.5943
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.
Error VBNC30456: 'ComponentModel' is not a member of 'Global.System'.
Error VBNC30456: 'CodeDom' is not a member of 'Global.System'.
Error VBNC30456: 'ComponentModel' is not a member of 'Global.System'.
Error VBNC30456: 'CodeDom' is not a member of 'Global.System'.
Error VBNC30456: 'CodeDom' is not a member of 'Global.System'.
There were 5 errors and 0 warnings.
На самом деле, тебе нужно использовать vbnc2 для компиляции кода, например: ]
$ vbnc2 test.vb
Visual Basic.Net Compiler version 0.0.0.5943
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.
Assembly 'test, Version=0.0, Culture=neutral, PublicKeyToken=null' saved successfully to 'test.exe'.
Compilation successful
Удачи!