我在Linux上用Mono构建了一个C#和GTK#程序,现在我试图在Windows 10上运行它。为了看看我是否可以运行任何东西,我试过MonoDevelop文档中的HelloGTK示例:http://www.monodevelop.com/documentation/stetic-gui-designer/
在Windows 10计算机上,我首先尝试安装Mono(32位),并从Mono命令提示符运行应用程序作为单声道HelloGTK.exe,但它立即终止,没有任何错误消息。然后我尝试卸载Mono并安装Gtk#,但结果相同:当从Windows命令提示符运行时,应用程序将以静默方式终止。
可能是.NET版本不匹配,还是缺少.NET组件?在控制面板中启用了.NET(版本3.5和4.6),但并未检查所有子项。该程序是针对.NET 4.5版构建的。 我构建了一个控制台应用程序(在Linux上使用Mono),它在没有安装Mono的Windows机器上运行。这足以验证.NET状态还是它仍然是一个问题?
应用程序是否找不到GTK#库?有没有办法验证GTK#安装?
这可能是GTK#版本不匹配吗?该应用程序是针对GTK#2.12构建的,我在Windows机器上安装了2.12.38,所以我觉得这不太可能。
非常感谢有关如何解决此问题的任何提示!
答案 0 :(得分:0)
忘了这一切:
本机泊坞窗现在可在Windows上使用,所以:
加上可能需要填写的一些细节。但是对于跨平台问题,docker可以使你的生活更加轻松。
答案 1 :(得分:0)
问题最终出现在由MonoDevelop中包含的Stetic GUI设计器生成的代码中:
protected virtual void Build ()
{
...
this.Title = global::Mono.Unix.Catalog.GetString ("MainWindow");
上面一行注释掉了应用程序在安装了GTK#的Windows 10上运行。