모든 유형의 C# Windows Forms 애플리케이션을 실행하는 데 필요한 모든 Mono 종속성은 무엇입니까?

모든 유형의 C# Windows Forms 애플리케이션을 실행하는 데 필요한 모든 Mono 종속성은 무엇입니까?

Ubuntu Linux 16.04에서 C# Windows Forms 애플리케이션을 실행하려면 mono-runtime 및 libmono-system-windows-forms4.0-cil 외에 어떤 다른 Mono 종속성이 필요합니까?

우리 질문에 대한 대답은 Windows Forms 애플리케이션의 C# 소스 코드에 따라 달라지나요? 예를 들어, hellboy81은 2월 10일 01:46에 gitter im mono에 글을 썼습니다.

Ubuntu 64비트 15.10(Unity)에서 Mono의 WinForms TreeView 컨트롤에 문제가 있습니다. 항목을 선택할 수 없으며 선택 항목이 표시되지 않습니다.

이 문제를 해결하기 위한 패키지 업데이트나 새 패키지가 있습니까?

나는 다음을 사용하여 또 다른 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 종속성의 누락 사례로 간주하고 싶지 않습니다. 대신 그는 단일 런타임 및 libmono-system-windows-forms4.0-cil 외에 목록 상자, 콤보 상자, 편집 상자, 버튼 등에 필요한 종속성이 무엇인지 알아보고 싶어합니다. 목록 상자, 콤보 상자, 편집 상자, 버튼 등... 추가적인 Mono 종속성이 필요합니까?

답변1

여기서 문제는 다른 소스 코드와 마찬가지로 Mono 애플리케이션이 패키지 관리 시스템의 제어를 받지 않는다는 것입니다. 따라서 어떤 패키지를 설치해야 하는지 스스로 파악해야 합니다. 아무것도 알려줄 수 없습니다.

몇 가지 옵션이 있는데, 그 중 가장 쉬운 방법은 개발자 문서를 읽는 것입니다.

실패하면 (이미 시작한 것처럼) 실행하여 strace무엇이 누락되었는지 확인할 수 있습니다. 다음 문제는 파일이 어느 패키지에 속하는지 확인하는 것입니다. 우분투에서는 apt-file다음과 같이 사용할 수 있습니다 :

설치하고 구성하십시오.

$ 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

관련 정보