Mono 애플리케이션이 자체 디렉터리에서만 시작되는 이유는 무엇입니까?

Mono 애플리케이션이 자체 디렉터리에서만 시작되는 이유는 무엇입니까?

응용 프로그램을 실행하려면 monodevelopchdir을 /usr/lib/monodevelop/Bin수행한 다음 ./MonoDevelop.exe. 이는 다른 모든 Mono 애플리케이션(예: 등)에서도 banshee동일 tomboy합니다 .

monodevelop다른 위치 나 자체 디렉토리에서 Mono 애플리케이션을 실행하려고 하면 다음을 실행하면 됩니다.유형 초기화 예외이와 같이:

behrooz@behrooz:/usr/lib/monodevelop/bin$ monodevelop
치명적인 오류 [2012-05-04 11:24:39Z]: MonoDevelop을 시작하지 못했습니다. MonoDevelop을 실행하는 데 필요한 일부
어셈블리 (예: gtk-sharp,
gnome-sharp 또는 gtkhtml-sharp)가
GAC에 올바르게 설치되지 않을 수 있습니다. System.TypeInitializationException:
Gtk.Application의 유형 초기화 프로그램에서 예외가 발생했습니다. --->
System.EntryPointNotFoundException: glibsharp_g_thread_supported at
(래퍼 Managed-to-native) GLib.Thread:glibsharp_g_thread_supported
() at GLib.Thread.get_Supported () [ 0x00000] in :0
at Gtk.Application..cctor () [0x00000] in :0 ---
내부 예외 스택 추적 끝 ---
MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions
옵션) [0x0007e ]
MonoDevelop.Ide. /home/behrooz/Desktop/Monodevelop/monodevelop-2.8.6.5/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:503 의 IdeStartup.Main
(System.String[] args) [

왜 그런 겁니까?

Mono, Wine, GTK, Glib, X, Gnome 패키지를 모두 다시 설치해 보았습니다.

apt-get --purge --reinstall install $(dpkg --get-selections | grep mono | grep install | grep  -v deinstall | awk'{print $1}')  

나는 또한 "open"에 대해 strace를 시도했지만 아무것도 얻지 못했습니다.

시스템 설정:

  • 데비안 6.0 - 64비트 업데이트
  • 커널 3.2.0-2, 3.2.0-1, 3.1 및 3 편집: 커널이 아닙니다.
  • Gnome 3.4 Editor: 하지만 그놈에 관한 건
  • 모노 2.10.5
    TLS:           __thread  
    SIGSEGV:       altstack  
    Notifications: epoll  
    Architecture:  amd64  
        Disabled:      none  
        Misc:          softdebug   
        LLVM:          supported, not enabled.  
        GC:            Included Boehm (with typed GC and Parallel Mark)   
    

업데이트: 새로운 MonoDevelop 3.0.2 및 최신 Mono로 업그레이드하면 monodevelopchdir 없이 터미널에서 명령을 사용하여 MonoDevelop을 실행할 수 있습니다. 그러나 gnome-shell에서는 실행할 수 없습니다.

마침내 찾았습니다:
루트로:

 cd /usr/local/
 find | grep mono|xargs rm -rf
 # Use with caution/some applications may get messed up (stellarium has MONOchrome images...)

답변1

소스에서 빌드하고 설치한 것 같습니다 monodevelop. 비슷한 종속성으로 동일한 작업을 수행했나요 gtksharp? banshee및가 손상되었기 때문에 tomboy손상된 프로그램 간에 공유 종속성이 있는 것처럼 들립니다. 이는 확실한 후보입니다. CLI 모노 애플리케이션이 작동합니까?

~에서MonoDevelop 빌드 문서:

가능하다면 패키지의 모든 항목을 설치하는 것이 좋습니다. 그렇지 않다면 병렬 모노 환경을 사용해야 합니다. 의미를 완전히 이해하지 않는 한 /usr 또는 /usr/local에 아무것도 설치하지 마십시오.

다른 모노 응용 프로그램이 설치된 트리에서만 실행되고 monodevelop패키지를 다시 설치해도 도움이 되지 않는 경우 소스 설치가 추가된 주변에 떠다니는 추가 항목이 있을 수 있으며 이로 인해 mono해당 라이브러리를 찾는 데 방해가 될 수 있습니다. 설치 경로가 하드 코딩되어 있을 수 있습니다 monodevelop.

내 Debian-fu는 강력하지 않지만 시작점이 될 수 있는 알 수 없는 파일 /usr을 식별하는 방법이 있어야 합니다 .dpkg

관련 정보