c# - ASP.NET 项目中的 AIML Bot 无法找到 CONFIG 文件?

标签 c# asp.net .net artificial-intelligence aiml

我正在尝试为我的 ASP.NET Web 项目实现 AIML 机器人,但我不断收到此错误:

Unable to find the specified file.

Source Error: Line 31:
{

Line 32: myBot = new Bot();

Line 33: myBot.loadSettings(@"C:\Users\Public\Documents\SITE\bin\config");

Line 34: myUser = new User("DefaultUser", this.myBot);

Line 35: AIMLbot.Utils.AIMLLoader loader = new AIMLbot.Utils.AIMLLoader(this.myBot);

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
            myBot = new Bot();
            myBot.loadSettings(@"C:\Users\Public\Documents\SITE\bin\config");
            myUser = new User("DefaultUser", this.myBot);
            AIMLbot.Utils.AIMLLoader loader = new AIMLbot.Utils.AIMLLoader(this.myBot);
            this.myBot.isAcceptingUserInput = false;
            loader.loadAIML(@"C:\Users\Public\Documents\SITE\bin\aiml");
            this.myBot.isAcceptingUserInput = true;
}

我觉得它在本地主机上运行时找不到配置文件夹?我做错了什么?

最佳答案

我知道这是一篇旧帖子,但我正在添加我的解决方案,以防其他人遇到同样的问题。

您的问题是您没有指定设置文件。

像这样尝试:

 myBot.loadSettings(@"C:\Users\Public\Documents\SITE\bin\config\Settings.xml");

但是在部署应用程序时,问题仍然存在,因为即使您从文件中加载设置,config 文件夹中其他 xml 文件的路径也是相同的:

 return Path.Combine(Environment.CurrentDirectory, this.GlobalSettings.grabSetting("configdirectory"));

您可以做的是: 您可以在 C:\Windows\System32\inetsrv 中添加配置目录 或者您可以下载源代码并修改 PathToConfigFiles 属性以满足您的要求,重新构建并再次将引用添加到您的项目。

我已经修改了属性:

  private string _pathToConfigFiles;
        public string PathToConfigFiles
        {
            get
            {
                return Path.Combine(this._pathToConfigFiles, this.GlobalSettings.grabSetting("configdirectory"));
            }
            set
            {
                this._pathToConfigFiles = value;
            }
        }

当我实例化我拥有的机器人时:

   Bot myBot = new Bot();
   myBot.PathToConfigFiles = ConfigurationManager.AppSettings["AimlConfigPath"];
   myBot.loadSettings(ConfigurationManager.AppSettings["AimlSettingsPath"]);

其中“AimlConfigPath”是 D:\MyProject\bin 和“AimlSettingsPath”是 D:\MyProject\bin\config\Settings.xml 都添加在网络中我的应用程序的 .config 文件。

关于c# - ASP.NET 项目中的 AIML Bot 无法找到 CONFIG 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808067/

相关文章:

c# - 获取MySQL多行数据并显示在单独的文本框中

reactjs - 在 react 中使用 signalR 时从方法中删除订阅的处理程序

c# - c#代码中的excel复选框

c# - 如何在 C# 中将属性作为参数传递?

c# - 具有信号强度的网格三角测量算法 C#

c# - 如何获取Azure应用服务中设置的环境变量WEBSITE_PRIVATE_PORTS?

c# - 如何检测 WPF 窗口的首次显示?

c# - 文本框点击事件

javascript - 如何在 JavaScript 中验证当前日期的一个日期?

asp.net - 尝试从 web.config 打开一个部分会出现 ConfigurationErrorsException : The entry KEY has already been added