Microsoft Agent "не удалось запустить" - PullRequest
0 голосов
/ 27 декабря 2018

Я следовал старому учебнику по использованию MS Agent с C #, и я не собираюсь использовать альтернативу ему, я специально хочу использовать MS Agent.

Я добавил ссылку на объект COMMicrosoft Agent Control 2.0 в ссылках (и пришлось исправить некоторый код, чтобы снова иметь правильный синтаксис).

Я использую Windows 10, но это не проблема, например, MASH работает нормально.

Если я собираю его для x86, я получаю следующую ошибку:

this error

Сборка для x64 говорит мне, что она не зарегистрирована (делаетсмысл):

unregistered

Вот мой код:

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 показывает ту же ошибку.

the error on xp

Обновление 2: я решил возиться с VBScript, который работаетнормально с аналогичным кодом ????

working fine in VBScript

Обновление 3: я подумал hmm, maybe VBScript does this differently than I am in C# и решил попробовать использовать объект ActiveX.

enter image description here

Буквально та же ошибка, спасибо C # очень круто

Ответы [ 2 ]

0 голосов
/ 24 февраля 2019

Если у вас Windows 10 64-разрядная , вы можете установить бесплатную программу TTS Клод , чтобы исправить ошибку 0x800400154.

Также имейте в виду, чтоесли ваш проект C # нацелен на x86 , когда вы должны добавить ссылку на "C: \ Windows \ MSAgent64 \ AgentCtl.dll" и если ваш проект на C # нацелен на x64, когда вы должны добавить ссылкув папку «C: \ Windows \ MSAgent \ AgentCtl.dll».

0 голосов
/ 27 декабря 2018

К сожалению, согласно введению в Microsoft Agent , создается впечатление, что:

[Агент Microsoft устарел в Windows 7 и может быть недоступен в последующих версиях Windows.]

И, вероятно, поэтому вы получаете сообщение об ошибке Agent was unable to start.Что касается более загадочного сообщения, это, вероятно, связано с тем, что в вашем реестре не установлена ​​версия библиотеки COM для x64 (что не поможет вам, даже если она у вас была, поскольку служба устарела).

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...