无法在Ubuntu 14.04上使用最新的Mono 4.3.0和GTK#构建Mono.Addins

时间:2015-06-11 19:20:09

标签: ubuntu mono

尝试用最新的Mono构建最新的Monodevelop。我已经成功安装了Mono 4.3.0和GTK#。正如我所看到的,Monodevelop需要安装Mono.Addins,但是当我尝试安装最新的Mono.Addins时,它会因下一个错误而失败:

Mono.Addins.Gui/AddinManagerDialog.cs(189,24): error CS0506: `Mono.Addins.Gui.AddinManagerDialog.Dispose()': cannot override inherited member `GLib.Object.Dispose()' because it is not marked virtual, abstract or override
Mono.Addins.Gui/AddinTreeWidget.cs(52,25): error CS0012: The type `GLib.IIcon' is defined in an assembly that is not referenced. Consider adding a reference to assembly `gio-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f'
Mono.Addins.Gui/ManageSitesDialog.cs(67,24): error CS0506: `Mono.Addins.Gui.ManageSitesDialog.Dispose()': cannot override inherited member `GLib.Object.Dispose()' because it is not marked virtual, abstract or override
Mono.Addins.Gui/NewSiteDialog.cs(46,24): error CS0506: `Mono.Addins.Gui.NewSiteDialog.Dispose()': cannot override inherited member `GLib.Object.Dispose()' because it is not marked virtual, abstract or override
gtk-gui/generated.cs(65,52): error CS0234: The type or namespace name `SizeRequestedArgs' does not exist in the namespace `Gtk'. Are you missing an assembly reference?
Mono.Addins.Gui/HeaderBox.cs(98,27): error CS0115: `Mono.Addins.Gui.HeaderBox.OnSizeRequested(ref Gtk.Requisition)' is marked as an override but no suitable method found to override
Mono.Addins.Gui/HeaderBox.cs(125,27): error CS0115: `Mono.Addins.Gui.HeaderBox.OnExposeEvent(Gdk.EventExpose)' is marked as an override but no suitable method found to override
Mono.Addins.Gui/HoverImageButton.cs(83,44): warning CS0618: `Gtk.Style' is obsolete: `Replaced by StyleContext'
Mono.Addins.Gui/HoverImageButton.cs(150,33): error CS0115: `Mono.Addins.Gui.HoverImageButton.OnExposeEvent(Gdk.EventExpose)' is marked as an override but no suitable method found to override

怎么解决?

Ubuntu版本 - 14.04

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。这很简单。我刚刚选择了错误的GTK#库版本。它应该是2.12.*版本,但在GTK #master上它是2.99.*。当我更改版本(按git checkout)时,所有内容都按原样编译。

仅当设置了标志2.99.*--disable-gui时,Mono.Addins才会使用--enable-gui-gtk3 GTK#进行编译。换句话说,GTK#2.99.*仅适用于GTK + 3.0,因此Mono.Addins应配置为使用此版本的GTK +。希望这个解释能帮到某些人。