Как исправить «Ссылка на тип «IAsyncEnumerable‹›» утверждает, что он определен в «System.Interactive.Async», но не может быть найден»?

До вчерашнего дня он работал, и я даже не трогал код, но эта ошибка выскочила, и с тех пор он просто говорит следующее:

Ссылка на тип «IAsyncEnumerable‹>» утверждает, что он определен в «System.Interactive.Async», но его не удалось найти.

Я сделал дискорд-бота и хочу удалять сообщения с его помощью

        [Command("clear")]
        public async Task Clear(string StringNum = null)
        {
            try
            {
                if (!Context.Guild.CurrentUser.GuildPermissions.ManageMessages)
                {
                    await ReplyAsync("Sorry, I don't have permission for this!");
                }
                else
                {
                    var user = Context.User as SocketGuildUser;
                    if (user.GuildPermissions.ManageMessages)
                    {
                        int IntNum = 1;
                        bool intparse = int.TryParse(StringNum, out int n);
                        if (intparse)
                        {
                            IntNum = int.Parse(StringNum);
                        }

                        var messages = await Context.Channel.GetMessagesAsync(IntNum + 1).Flatten();
                        await (Context.Channel as SocketTextChannel).DeleteMessagesAsync(messages);
                    }
                    else
                    {
                        await ReplyAsync("You don't have permission for this command!");
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.GetBaseException());
            }
        }

Ошибка в строке, где я пытаюсь получить сообщения


person MBence    schedule 05.10.2019    source источник
comment
Это не код, это ссылка. Вы уверены, что установили ссылку на System.Interactive.Async? Очень вероятно, если это уже сработало. Иногда при изменении целевой платформы (x86/x64) или версии .NET Framework указанная библиотека DLL может стать несовместимой. Из системных DLL чаще всего находит правильный путь, но это зависит от того, как задана ссылка. Если выбрать файл из файловой системы, это жестко запрограммировано и не перемещается. Просто идея проверить.   -  person Holger    schedule 05.10.2019
comment
Было обновление пакета, и, видимо, это просто сломало мой код.   -  person MBence    schedule 06.10.2019
comment
Я удалил явную ссылку на System.Interactive.Async 4.0.0 из csproj, и ошибка исчезла.   -  person Ivan Zaruba    schedule 25.11.2019


Ответы (1)


Я побежал к этому. Мне пришлось установить System.Interactive.Async 3.1.1, а не 4.0.0. Поэтому я предполагаю, что его больше нет в 4.0.0.

person Ian1971    schedule 19.11.2019