Quais são as dependências Mono necessárias para executar todos os tipos de aplicativos C # Windows Forms?

0

Quais são as outras dependências Mono além do mono-runtime e libmono-system-windows-forms4.0-cil necessárias para executar aplicativos C # Windows Forms no Ubuntu Linux 16.04?

A resposta para nossa pergunta depende do código-fonte C # para nossos aplicativos do Windows Forms? Por exemplo, hellboy81 escreveu sobre gitter im mono, 10 de fevereiro de 01:46.

I have Issue with WinForms's TreeView control in Mono under Ubuntu 64 Bit 15.10 (Unity) items are not selectable and selection is not visible

Existe uma atualização de pacote ou um novo pacote para corrigir esse problema?

Eu acredito que a outra dependência Mono, o GTK # 2.0, é encontrado usando:

strace mono ./Simple.exe 

Se eu adicionar a linha:

using GTK;

para Simple.cs e compilação:

mcs -r:System.Windows.Forms.dll -r:System.Drawing.dll -pkg:gtk-sharp-2.0 Simple.cs -out:Simple.exe 

A saída do compilador é:

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.

Posso perguntar se o gtk-sharp-2.0 é uma dependência necessária para o System.Windows.Forms e se há outras dependências "Mono"?

Nosso arquiteto não quer considerar o libgtk2.0-cil-dev como um exemplo de uma dependência Mono ausente. Em vez disso, ele quer descobrir quais dependências precisamos além de mono-runtime e libmono-system-windows-forms4.0-cil para List Box, ComboBox, EditBox, botões, etc. Faça List Box, ComboBox, EditBox, botões, etc. exigem dependências adicionais do Mono?

    
por Frank 10.05.2016 / 04:20

1 resposta

1

O problema aqui é que seus aplicativos Mono são, assim como qualquer outro código-fonte, fora do controle do sistema de gerenciamento de pacotes. Portanto, você precisa descobrir quais pacotes você precisa instalar - nada lhe dirá.

Você tem algumas opções e a mais simples delas é ler a documentação do desenvolvedor.

Caso contrário, você pode (como já começou) executar strace e ver o que está faltando. O problema então é descobrir em qual pacote esse arquivo pertence. No Ubuntu, você pode usar apt-file da seguinte forma:

Instale e configure:

$ sudo apt-get install apt-file
$ apt-file update

Em seguida, encontre o pacote com:

$ apt-file search gtk-sharp-2.0.pc

e ele informará que você precisa instalar libgtk2.0-cil-dev para este arquivo.

Em seguida, execute o aplicativo Mono novamente e, se necessário, strace e apt-file ajudarão você a encontrar os arquivos ausentes.

    
por 10.05.2016 / 15:55

Tags