我正在尝试让我的Linux Gtk#应用程序在Windows上运行。当我尝试运行它时,我收到此错误消息:
未处理的异常:GLib.GException: 未处理的标签:'要求'
at Gtk.Builder.AddFromFile(String 文件名)
在Interface.MainWindow..ctor()
在[我的项目名称] .MainClass.Main(String [] args)在c:\ Path \ To \ Main.cs:第10行
尝试从我的Glade文件构建界面时似乎正在发生。我已经检查过,林间空地文件的路径是正确的。可能出现什么问题?
以下是一些重现问题的代码:
using System;
using Gtk;
namespace TestGtk {
class MainClass {
public static void Main (string[] args)
{
Application.Init();
string gladefile = @"C:\path\to\gladefile.glade";
Builder builder = new Builder();
builder.AddFromFile(gladefile);
Application.Run();
}
}
}
答案 0 :(得分:1)
您正在使用GtkBuilder加载GladeXML文件。 GtkBuilder具有不同的XML格式,与GladeXML不兼容(它更通用)。如果使用glade-3设计UI,则可以选择保存为GtkBuilder XML或GladeXML。此外,glade还有一个名为gtk-builder-convert
的实用程序,可用于将GladeXML转换为GtkBuilder XML。
所以,有两种选择:
gtk-builder-convert
实用程序答案 1 :(得分:1)
奇怪......我不知道为什么在Windows上GTK#不支持requires
。无论如何,我会尝试从<requires ... />
删除gladefile.glade
代码。
答案 2 :(得分:0)
这很可能意味着您的Glade文件已损坏或其中有一些奇怪。