Какие другие зависимости Mono, кроме mono-runtime и libmono-system-windows-forms4.0-cil, необходимы для запуска приложений C# Windows Forms на Ubuntu Linux 16.04?
Зависит ли ответ на наш вопрос от исходного кода C# для наших приложений Windows Forms? Например, hellboy81 написал на gitter im mono, Feb 10 01:46.
У меня проблема с элементом управления TreeView WinForms в Mono под Ubuntu 64 Bit 15.10 (Unity) элементы не выбираются и выбор не видимым
Существует ли обновление пакета или новый пакет для решения этой проблемы?
Я считаю, что другая зависимость Mono, GTK# 2.0, находится с помощью:
strace mono ./Simple.exe
Если я добавлю строку:
using GTK;
в Simple.cs
и скомпилирую:
mcs -r:System.Windows.Forms.dll -r:System.Drawing.dll -pkg:gtk-sharp-2.0 Simple.cs -out:Simple.exe
Выход компилятора:
Package gtk-sharp-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk-sharp-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk-sharp-2.0' found.
Могу ли я спросить, является ли gtk-sharp-2.0 зависимостью, необходимой для System.Windows.Forms, и есть ли другие "Mono" зависимости?
Наш архитектор не хочет рассматривать libgtk2.0-cil-dev в качестве примера отсутствующей зависимости Mono. Вместо этого он хочет выяснить, какие зависимости нам нужны, кроме mono-runtime и libmono-system-windows-forms4.0-cil для List Box, ComboBox, EditBox, кнопок и т.д.. Требуют ли List Box, ComboBox, EditBox, кнопки и т.д. дополнительных зависимостей Mono?
Проблема здесь в том, что ваши приложения Mono, как и любой другой исходный код, находятся вне контроля системы управления пакетами. Поэтому вам нужно решить, какие пакеты вам нужно установить - вам ничего не скажет.
У вас есть несколько вариантов, и самый простой из них - прочитать документацию разработчика.
В противном случае вы можете (как только вы начали) запустить strace
и посмотреть, чего не хватает. Тогда проблема заключается в том, какому пакету принадлежит этот файл. В Ubuntu вы можете использовать apt-файл
следующим образом:
Установите и настройте его:
$ sudo apt-get install apt-file
$ apt-file update
Затем найдите пакет с:
$ apt-file search gtk-sharp-2.0.pc
, и он сообщит вам, что вам нужно установить libgtk2.0-cil-dev
для этого файла.
Затем снова запустите приложение Mono, и при необходимости strace
и apt-file
помогут вам найти недостающие файлы.