
Я просто перехожу с Windows на Ubuntu, просто чтобы вы знали, что я новичок в Linux. Я скомпилировал monodevelop (4.0) из исходников, потому что только старая версия 2.x может быть установлена с помощью apt-get. Затем мой проект не запустился, потому что не было компилятора VB.NET для .NET 4.0. Поэтому я подумал, что просто скомпилирую и новый Mono 3 (только 2.x может быть установлена с помощью apt-get).
Mono исходники скачал, скомпилировал, установил, вроде работает:
$ 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.
Так что я не знаю, что делать дальше. Эта проблема сводит меня с ума, я просто хочу, чтобы monodevelop с VB.NET 4.0 на моей Ubuntu-System заработал. Может кто-нибудь мне помочь?
EDIT: Итак, я удалил mono и monodevelop и установил официальные старые версии для ubuntu, и теперь он снова работает. Но может ли кто-нибудь сказать мне, как удалить старую версию mono и заменить ее моей новой скомпилированной?
решение1
Если вы работаете в среде Linux, то установка gtk-sharp2 может решить проблему (по крайней мере, мне это помогло)
sudo apt-get install gtk-sharp2
решение2
Ваша проблема, вероятно, в одной из версий. Mono жалуется, что не может найти gtk-sharp, Version=2.12.0.0
, какая версия установлена?
Одна из проблем использования последней версии чего-либо и компиляции из исходников заключается в том, что это может зависеть от более новых версий различных библиотек, которые ему нужны. Вам придется установить необходимую версию каждой из необходимых библиотек.