使用 C# 的序言 visual studio 13
Prolog with c# visual studio 13
序言与 c# 使用 visual studio 13
但是这个例外有一个问题:
'System.IO.FileNotFoundException' 类型的未处理异常发生在 mscorlib.dll
中
附加信息:找不到指定的模块。 (HRESULT 异常:0x8007007E)
using System;
using SbsSW.SwiPlCs;
namespace ConsoleApplication35
{
class Program
{
static void Main(string[] args)
{
Environment.SetEnvironmentVariable(@"D:\Prolog\swipl", @"D:\Prolog\swipl\boot");
if (!PlEngine.IsInitialized)
{
String[] param = { "-q" };
PlEngine.Initialize(param);
PlQuery.PlCall("assert(father(martin, inka))");
PlQuery.PlCall("assert(father(uwe, gloria))");
PlQuery.PlCall("assert(father(uwe, melanie))");
PlQuery.PlCall("assert(father(uwe, ayala))");
using (var q = new PlQuery("father(P, C), atomic_list_concat([P,' is_father_of ',C], L)"))
{
foreach (PlQueryVariables v in q.SolutionVariables)
Console.WriteLine(v["L"].ToString());
Console.WriteLine("all children from uwe:");
q.Variables["P"].Unify("uwe");
foreach (PlQueryVariables v in q.SolutionVariables)
Console.WriteLine(v["C"].ToString());
}
PlEngine.PlCleanup();
Console.WriteLine("finshed!");
}
}
}
}
我认为你的意思是设置PATH
环境变量,你的代码需要更改如下:
var curPath = Environment.GetEnvironmentVariable("PATH");
Environment.SetEnvironmentVariable(@"PATH", @"D:\Prolog\swipl\boot;D:\Prolog\swipl;" + curPath );
序言与 c# 使用 visual studio 13 但是这个例外有一个问题: 'System.IO.FileNotFoundException' 类型的未处理异常发生在 mscorlib.dll
中附加信息:找不到指定的模块。 (HRESULT 异常:0x8007007E)
using System;
using SbsSW.SwiPlCs;
namespace ConsoleApplication35
{
class Program
{
static void Main(string[] args)
{
Environment.SetEnvironmentVariable(@"D:\Prolog\swipl", @"D:\Prolog\swipl\boot");
if (!PlEngine.IsInitialized)
{
String[] param = { "-q" };
PlEngine.Initialize(param);
PlQuery.PlCall("assert(father(martin, inka))");
PlQuery.PlCall("assert(father(uwe, gloria))");
PlQuery.PlCall("assert(father(uwe, melanie))");
PlQuery.PlCall("assert(father(uwe, ayala))");
using (var q = new PlQuery("father(P, C), atomic_list_concat([P,' is_father_of ',C], L)"))
{
foreach (PlQueryVariables v in q.SolutionVariables)
Console.WriteLine(v["L"].ToString());
Console.WriteLine("all children from uwe:");
q.Variables["P"].Unify("uwe");
foreach (PlQueryVariables v in q.SolutionVariables)
Console.WriteLine(v["C"].ToString());
}
PlEngine.PlCleanup();
Console.WriteLine("finshed!");
}
}
}
}
我认为你的意思是设置PATH
环境变量,你的代码需要更改如下:
var curPath = Environment.GetEnvironmentVariable("PATH");
Environment.SetEnvironmentVariable(@"PATH", @"D:\Prolog\swipl\boot;D:\Prolog\swipl;" + curPath );