集成C#和Prolog

时间:2009-07-23 14:48:33

标签: c# prolog

对于我正在研究的项目,我想使用WordNet对用户输入进行一些语言分类,我想使用数据库的Prolog版本。

我尝试了P#,效果相当不错,但似乎无法处理WordNet数据库的庞大规模。它可以编译我想要使用的最小文件(218 kB),但是当我尝试编译两个较大的文件(分别为2.3和7.3 MB)时,它会在大约半小时的工作后失败并且Windows弹出“出了点问题。向微软发送报告?“对话框。

我也尝试了Prolog.Net,但似乎效果不佳。

最后,我尝试了C# bindings用于SWI-Prolog,但无法让它们正常工作。当我尝试运行示例代码时,它在PLEngine.Initialise()步骤失败,声称它尝试加载的东西(我假设的DLL)是一个无效的Win32应用程序(BadImageFormatException)。

有没有人对其他集成C#和Prolog的方法有任何建议,或者有一些建议来获得我已经尝试过的解决方案?操作系统是Windows Server 2008(64位),SWI Prolog是5.7.11版本。

1 个答案:

答案 0 :(得分:1)

也许你在64位Windows上遇到32位SWI-Prolog的问题。如果您的平台目标是任何CPU ,则可能是您遇到问题的原因。您可以通过打开C#项目的属性页来解决此问题。选择构建标签,然后将平台目标更改为 x86

如果您当前正在使用任何CPU ,您的应用程序将在64位Windows上以64位运行。试图加载32位DLL将失败。