Какие все зависимости Mono необходимы для запуска всех типов приложений C# Windows Forms?

Какие другие зависимости 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?

0
10.05.2016, 17:31
1 ответ

Проблема здесь в том, что ваши приложения 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 помогут вам найти недостающие файлы.

1
28.01.2020, 02:48

Теги

Похожие вопросы