SwiPICs.dll PlEngine.Initialize FileNotFoundException

时间:2018-12-21 00:26:22

标签: c# visual-studio prolog swi-prolog

出于教育目的,我们的一门大学课程要求有一个项目,该项目将Prolog的任何实例与任何其他GUI支持语言集成在一起。我使用C#是因为我经验最丰富。 我想以高年级的同事为榜样学习。他们给了我他们的仓库来下载他们的代码,并查看它们是如何结合在一起的。这就是问题开始的地方。

无论我做什么,我遵循什么教程,应用了其他来源的提示,该错误都不会更改:FileNotFoundException未处理:SwiPlCs.dll中发生了'System.IO.FileNotFoundException'类型的未处理异常。

我尝试使用32位/ 64位SWI,VS 2015/2017和32/64位版本,将DLL作为nuget包重新下载。他们似乎都不起作用。

        InitializeComponent();
        igra.popuniSlagalicu += igra_popuniSlagalicu;
        igra.vratiOdgovor += igra_vratiOdgovor;
        String[] param = { "-q" };
        PlEngine.Initialize(param);
        PlQuery.PlCall("use_module(sudoku)");

这是我第一次尝试调试代码时感到无助和绝望。从字面上看,单行停留了5天,没有任何进展。

1 个答案:

答案 0 :(得分:0)

该错误不是很清楚,但是是由于该程序需要知道在哪里可以找到运行SWI-Prolog的DLL所致。有几种方法可以执行此操作,但是最简单的方法是将包含SWI-Prolog可执行文件(C:\Program Files\swipl\bin)的目录(例如swipl-win.exe)添加到Windows系统PATH变量中。

更改系统PATH变量后,如有必要,您将需要重新启动Visual Studio。