我遵循了有关将MS Agent与C#结合使用的旧教程,并且我不会使用它的替代方法,我特别想使用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());
}
}
}
如您所见,Form1
唯一的事件是Load
,因此我不必费心添加Design.cs
。
更新1:实际上,这个问题似乎与运行Windows 10无关,就像我认为的那样。为.NET 4构建此文件并在XP上运行会显示相同的错误。
更新2:我决定弄乱VBScript,它在类似的代码下可以正常工作??
更新3:我以为hmm, maybe VBScript does this differently than I am in C#
,并决定尝试使用ActiveX对象。
从本质上讲同样的错误,谢谢C#非常酷
答案 0 :(得分:0)
不幸的是,根据ntroduction to Microsoft Agent,看来:
[Microsoft Agent从Windows 7开始不推荐使用,在Windows的后续版本中可能不可用。]
这可能就是为什么您收到Agent was unable to start
错误消息的原因。关于更具神秘性的消息,可能是因为您没有在注册表中安装x64版本的COM库(因为不赞成使用该服务,即使您确实安装了它也无济于事)。
希望有帮助!
答案 1 :(得分:0)
如果您使用Windows 10 64位,则可以安装免费的TTS程序Claude来修复错误0x800400154。
此外,请记住,如果您的C#项目以 x86 为目标,那必须添加对“ C:\ Windows \ MSAgent64 \ AgentCtl.dll”的引用,并且如果您的C#项目以x64为目标,则必须添加对“ C:\ Windows \ MSAgent \ AgentCtl.dll”的引用。