从这里https://github.com/HaxeFoundation/HaxeManual/wiki/Haxe-C%23我已经了解到:
Haxe可以直接加载.NET程序集文件(.DLL)并转换其类型定义以用作Haxe类型。要加载.NET程序集,请使用-net-lib library.dll编译器选项。然后,Haxe将自动解析该汇编文件中定义的类型,并使它们可以作为Haxe类型导入。
好的,我想要导入Forms.DLL。不是haxe -net-lib C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Windows.Forms.dll
也不是haxelib -net-lib C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Windows.Forms.dll
。
然后我发现https://groups.google.com/forum/#!topic/haxelang/DS8AXeWxiTA。盖伊在这里使用
haxe -cp src -cs F:/ _ dev / CSTest2 / CSTest2 -D net-ver = 40 -D net-std = C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ -main Main -net -lib Accessibility.dll@std -net-lib System.Drawing.dll@std -net-lib System.Windows.Forms.dll@std
我想它的compile.hxml文件设置。但是......它的编译文件。我仍然得到未知的错误" import cs.system.windows.forms.Form; "。所以它在编译开始之前应该已存在于我的源文件中。
这是我当前尝试编译的 compile.hxml :
-main Main
-cp src
-cs bin
-D net-ver=40
-D -net-std=C:\Windows\Microsoft.NET\Framework\v4.0.30319\
-net-lib C:\Windows\Microsoft.NET\Framework\v4.0.30319\Accessibility.dll@std
-net-lib C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Windows.Forms.dll@std
-net-lib C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Drawing.dll@std
并且遇到了类似于该示例的大量错误:
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Windows.Forms.dll @ cs.system.windows.forms.ImageList(Finalize):1:字符0:字段&#上的覆盖无效39;终结':班级没有超级班级 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Windows.Forms.dll @ cs.system.windows.forms.ImageList:1:character 0:在此类中定义
那我错在哪里。或者我应该添加/编辑什么才能在haxe项目中开始使用Net Framework?
答案 0 :(得分:2)
您获得的终结器错误是-net-lib
的已知问题,请参阅#5241。幸运的是,10月份有一个修复程序包含在Haxe 4.0.0-preview.2中。修复程序不包含在最新的稳定版本(3.4.4)中。