【发布时间】:2023-03-25 22:42:01
【问题描述】:
我事先已经创建了我的 prolog 文件,我想通过 SbsSW.SwiPlCs 库在我的 c# 项目中调用它,所以我将 prolog 文件添加到了我的 Resources 项目文件夹 (vuelos.pl)。
到目前为止,我有以下代码:
private String file = "Properties.Resources.vuelos";
public Prolog()
{
//read file
String[] param = { "-q", "-f", file};
try
{
PlEngine.Initialize(param);
//get my Objects
using (PlQuery q = new PlQuery("aeropuerto(ID,NAME)"))
{
//I do stuff here (omitted)
}
}
catch (PlException e)
{
Console.WriteLine(e.MessagePl);
Console.WriteLine(e.Message);
}
finally
{
PlEngine.PlCleanup();
}
}
但它会抛出一个ResourceNotFoundException,我不知道如何调用我的文件,我不想使用绝对路径,但如果有任何其他解决方案,我想听听。
【问题讨论】:
-
所以你有 pl 文件所在的
/Applicationfolder/resources/文件夹,你想构建一个字符串来显示该文件的实际路径? -
是的,确切地说,据我所知,创建
PlEngine的唯一方法是使用 .pl 文件的路径。
标签: c# ffi swi-prolog