“应用程序”类型在未引用的程序集中定义。 gtk-sharp,版本= 2.12

时间:2019-07-10 08:27:56

标签: mono ubuntu-16.04 monodevelop gtk# gtk2

我正在使用GTK#2.12版本构建应用程序。我为此安装了MonoDevelop。进行了示例应用程序。 当我在项目上将设置从GTK#3更改为GTK#2.12时,所有引用都更新为GTK#2.12。

当我编译项目时,编译器会抛出错误。

  

/local/mnt/workspace/vkumbhan/work/Program.cs(25,25):错误CS0012:类型'Application'在未引用的程序集中定义。您必须添加对程序集gio-sharp的引用,版本为3.0.0.0,文化为中性,PublicKeyToken = 35e10195dab3c99f。 (CS0012)

class MainClass
{
    public static void Main(string[] args)
    {
        Application.Init();     //error came this line
        MainWindow win = new MainWindow();
        win.Show();
        Application.Run();     //error came this line
    }
}

当我查看 Application 类的引用时,发现它是 Application ,它引用了gtk-sharp 3.0.0.0。

用于检查是否已安装GTK#2.12。

  

apt-cache策略libgtk2.0-0 libgtk-3-0

两个版本都安装在计算机上。

请问您如何解决该问题?

查找命令行:请帮助更新参考2.12.0.0而不是3.0.0.0

  

/usr/lib/mono/msbuild/15.0/bin/Roslyn/csc.exe / noconfig / nowarn:1701,1702,2008 / nostdlib + / platform:anycpu32bitpreferred / errorreport:prompt / warn:4 / define:DEBUG / errorendlocation / preferreduilang:en-US / highentropyva + /reference:/usr/lib/mono/gac/atk-sharp/3.0.0.0__35e10195dab3c99f/atk-sharp.dll / reference:/ usr / lib / mono / gac / gdk-sharp /3.0.0.0__35e10195dab3c99f/gdk-sharp.dll /参考:/usr/lib/mono/gac/glade-sharp/2.12.0.0__35e10195dab3c99f/glade-sharp.dll /参考:/ usr / lib / mono / gac / gtk -sharp / 3.0.0.0__35e10195dab3c99f / gtk-sharp.dll /reference:/usr/lib/mono/4.5-api/Mono.Posix.dll /reference:/usr/lib/mono/4.5-api/mscorlib.dll /参考:/usr/lib/mono/gac/pango-sharp/3.0.0.0__35e10195dab3c99f/pango-sharp.dll /参考:/usr/lib/mono/4.5-api/System.Core.dll /参考:/ usr / lib / mono / 4.5-api / System.dll / debug + / debug:便携式/ optimize- /out:obj/Debug/Sample.exe /subsystemversion:6.00 /resource:gtk-gui/gui.stetic,gui.stetic / target :winexe / utf8output MainWindow.cs Program.cs属性/AssemblyInfo.cs gtk-gui / generation.cs gtk-gui / MainWindow.cs“ /tmp/.NETFramework,Version=v4.5.AssemblyAttributes.cs”

谢谢!

1 个答案:

答案 0 :(得分:0)

解决此问题的最简单方法是在MonoDevelop中创建一个新的Gtk#应用程序,由于设计者需要该版本,因此默认值为Gtk#2.12。

然后,您可以从未编译的项目中复制类文件(* .cs)。