1

Я просто переключаюсь с Windows на Ubuntu, просто вы знаете, что я Linux Noob. Я скомпилировал monodevelop (4.0) из исходников, потому что только старая версия 2.x может быть установлена с помощью apt-get. Тогда мой проект не запустился, потому что не было компилятора VB.NET для .NET 4.0. Поэтому я подумал, что просто скомпилирую новый Mono 3 (только 2.x можно установить с помощью apt-get).

Mono soruces загружен, скомпилирован, установлен, кажется, работает:

$ mono --version
Mono JIT compiler version 3.0.12 (master/e4a5774 So 9. Jun 12:41:41 CEST 2013)

Но теперь monodevelop больше не запускается, поверх иконки на рабочем столе ничего не происходит, затем я посмотрел, что он возвращает в терминале:

$ monodevelop
System.TypeInitializationException: An exception was thrown by the type initializer for     Mono.Unix.Native.Syscall ---> System.EntryPointNotFoundException: Mono_Posix_Syscall_get_at_fdcwd
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
  at Mono.Unix.Native.Syscall..cctor () [0x0000a] in /home/manky/Work/mono/mcs/class/Mono.Posix/Mono.Unix.Native/Syscall.cs:2168 
  --- End of inner exception stack trace ---
  at MonoDevelop.Core.LoggingService.RedirectOutputToFileUnix (FilePath logDirectory, System.String logName) [0x0001e] in /home/manky/Work/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs:177 
  at MonoDevelop.Core.LoggingService.RedirectOutputToLogFile () [0x00041] in /home/manky/Work/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core/LoggingService.cs:140 
FATAL ERROR [2013-06-09 13:27:54Z]: MonoDevelop failed to start. Some of the assemblies required to run MonoDevelop (for example gtk-sharp)may not be properly installed in the GAC.
System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f' or one of its dependencies.
File name: 'gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f'
  at MonoDevelop.Ide.IdeStartup.Main (System.String[] args) [0x0005c] in /home/manky/Work/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:533 

Но я дважды проверил, установлен ли gtk-sharp. Также:

$ ls /usr/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/
gtk-sharp.dll  gtk-sharp.dll.config

Я пытался перекомпилировать monodevelop, но теперь он больше не компилируется, кажется, что теперь он не может найти библиотеки gtk-sharp и gdk-sharp.

Так что я не знаю, что делать дальше. Эта проблема сводит меня с ума, я просто хочу, чтобы моно-разработка с VB.NET 4.0 на моей системе Ubuntu работала. Кто-нибудь может мне помочь?

РЕДАКТИРОВАТЬ: Поэтому я удалил mono и monodevelop и установил официальные старые версии для Ubuntu, и теперь он снова работает. Но может кто-нибудь сказать мне, как удалить старую моно версию и заменить ее новой скомпилированной?

2 ответа2

2

Если вы находитесь в среде Linux, установка gtk-sharp2 может решить проблему (по крайней мере, для меня)

sudo apt-get install gtk-sharp2
1

Ваша проблема, вероятно, одна из версий. Mono жалуется, что не может найти gtk-sharp, Version=2.12.0.0 , какая версия установлена?

Одна из проблем использования последней версии чего-либо и компиляции из исходного кода заключается в том, что это может зависеть от более новых версий различных библиотек, в которых он нуждается. Вам нужно будет установить необходимую версию каждой из необходимых библиотек.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .