-1

我遵循了一个使用 C# 的 MS Agent 的旧教程,我不会使用它的替代品,我特别想使用 MS Agent。

我在引用中向 COM 对象添加了Microsoft Agent Control 2.0引用(并且必须修复一些代码以再次具有正确的语法)。

我使用的是 Windows 10,但这不是问题,例如,MASH 可以正常工作。

如果我为 x86 构建它,我会收到以下错误:

这个错误

为 x64 构建告诉我它没有注册(有道理):

未注册

这是我的代码:

public partial class Form1 : Form
{
    private AgentObjects.Agent Agent1;

    public Form1()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        try
        {
            Agent1 = new AgentObjects.Agent();
            Agent1.Characters.Load("Ralsei", "Ralsei.acs");
            var ralsei = Agent1.Characters["Ralsei"];
            ralsei.Show();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Can't use MS Agent.\n"+ex.ToString());
        }
    }
}

如您所见,唯一的事件Form1Load,所以我没有费心添加Design.cs.

更新 1:这个问题实际上似乎与运行 Windows 10 无关,就像我认为的那样。为 .NET 4 构建它并在 XP 上运行它会显示相同的错误。

xp上的错误

更新2:我决定搞乱VBScript,它适用于类似的代码????

在 VBScript 中工作正常

更新 3:我想hmm, maybe VBScript does this differently than I am in C#,并决定尝试使用 ActiveX 对象。

在此处输入图像描述

字面上一样的错误,谢谢 C# 很酷

4

2 回答 2

0

不幸的是,根据Introduction to Microsoft Agent,似乎:

[Microsoft 代理自 Windows 7 起已弃用,并且可能在 Windows 的后续版本中不可用。]

这可能就是您收到Agent was unable to start错误消息的原因。

关于更神秘的消息,这可能是因为您的注册表中没有安装 x64 版本的 COM 库(即使您拥有它也无济于事,因为该服务已被弃用)。

希望能帮助到你!

于 2018-12-27T06:35:31.333 回答
0

如果你有 Windows 10 64-bit,你可以安装免费的 TTS 程序Claude来修复错误 0x800400154。

另外,请记住,如果您的 C# 项目以x86为目标,那么您必须添加对“C:\Windows\ MSAgent64 \AgentCtl.dll”的引用,并且如果您的 C# 项目针对 x64,则必须添加对“C:\ Windows\MSAgent\AgentCtl.dll”。

于 2019-02-24T20:07:54.707 回答