带林间空地的 Dotnet Core 找不到资源
Dotnet Core with glade cannot find resource
我用 gtk 和 glade 创建了 dotnet 核心项目。
这是我的项目结构。
Program.cs
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// Initialize Gtk.
Application.Init();
MainWindow mainWindow = new MainWindow();
mainWindow.Show();
Application.Run();
}
}
MainWindow.cs
public class MainWindow : Window
{
public MainWindow() : this(new Builder("MainWindow.glade")) { }
public MainWindow(Builder builder) : base(builder.GetObject("MainWindow").Handle)
{
builder.Autoconnect(this);
}
}
并且,我已经将资源文件添加到 csproj。
<ItemGroup>
<None Remove="MainWindow.glade" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MainWindow.glade" />
</ItemGroup>
我试图在 Main() 中调用主窗口,但总是出现此错误。
Unhandled exception. System.ArgumentException: Cannot get resource file 'MainWindow.glade' (Parameter 'resource_name')
at Gtk.Builder..ctor(Assembly assembly, String resource_name, String translation_domain)
at Gtk.Builder..ctor(String resource_name)
at helloOpenTK.MainWindow..ctor() in helloOpenTK/MainWindow.cs:line 12
at helloOpenTK.Program.Main(String[] args) in helloOpenTK/Program.cs:line 21
能否建议我如何更改文件夹结构以使其正常工作?
提前致谢。
我在尝试使用 gtkapp template 创建一个新项目后找到了解决方案。
我更改了 csproj 中的配置,它可以 运行 没有错误了。
<ItemGroup>
<None Remove="**\*.glade" />
<EmbeddedResource Include="**\*.glade">
<LogicalName>%(Filename)%(Extension)</LogicalName>
</EmbeddedResource>
</ItemGroup>
我用 gtk 和 glade 创建了 dotnet 核心项目。
这是我的项目结构。
Program.cs
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// Initialize Gtk.
Application.Init();
MainWindow mainWindow = new MainWindow();
mainWindow.Show();
Application.Run();
}
}
MainWindow.cs
public class MainWindow : Window
{
public MainWindow() : this(new Builder("MainWindow.glade")) { }
public MainWindow(Builder builder) : base(builder.GetObject("MainWindow").Handle)
{
builder.Autoconnect(this);
}
}
并且,我已经将资源文件添加到 csproj。
<ItemGroup>
<None Remove="MainWindow.glade" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="MainWindow.glade" />
</ItemGroup>
我试图在 Main() 中调用主窗口,但总是出现此错误。
Unhandled exception. System.ArgumentException: Cannot get resource file 'MainWindow.glade' (Parameter 'resource_name')
at Gtk.Builder..ctor(Assembly assembly, String resource_name, String translation_domain)
at Gtk.Builder..ctor(String resource_name)
at helloOpenTK.MainWindow..ctor() in helloOpenTK/MainWindow.cs:line 12
at helloOpenTK.Program.Main(String[] args) in helloOpenTK/Program.cs:line 21
能否建议我如何更改文件夹结构以使其正常工作?
提前致谢。
我在尝试使用 gtkapp template 创建一个新项目后找到了解决方案。
我更改了 csproj 中的配置,它可以 运行 没有错误了。
<ItemGroup>
<None Remove="**\*.glade" />
<EmbeddedResource Include="**\*.glade">
<LogicalName>%(Filename)%(Extension)</LogicalName>
</EmbeddedResource>
</ItemGroup>