使用 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 );