Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 12.01.2017
Сообщений: 104

Метод ToHashSet не найден (System.MissingMethodException)

22.06.2020, 15:48. Показов 1685. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На чужих компьютерах программа закрывается с такой ошибкой:

(System.MissingMethodException)

Я предполагаю, что проблема кроется где-то тут:
Pascal
1
2
{$reference System.Web.Extensions.dll}
uses System.Collections.Generic, System.Web.Script.Serialization;
Либо тут (единственное место, где используется hashset, на который ругается ошибка):
Pascal
1
    ABC := 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.ToHashSet;
Но вот чего я не понимаю: почему прога работает на моём компе, но не работает на чужих? Я что-то не так объявил? У них нет какой-то особой dll? ЧЯДНТ?
Весь код моей библиотеки тут, если нужно:
https://gitlab.com/Roman.Svetl... cation.pas
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.06.2020, 15:48
Ответы с готовыми решениями:

Присвоить к System.Windows.Forms.ListBox из System.Collection.Generic.List значения
Подскажите пожалуйста, можно ли к System.Windows.Forms.ListBox присвоить значения из System.Collection.Generic.List? Каким то быстрым...

Аргумент не удается преобразовать из string в System.Collection.Generic.IEnumerable
подскажите как добавить в список новый элементvar partners = db.Partners .FullPartnerWithName() ...

System.Data.TypedTableBase<>.Where().ToArray() вадает “Collection was modified; enumeration operation might not execute”
У меня есть .NET 4.0 assembly; она зарегистрирована GAC и работает как часть BizTalk “orchestration”. Иногда в ней возникает такая...

7
15 / 13 / 3
Регистрация: 20.08.2017
Сообщений: 32
22.06.2020, 18:09
Насколько я вижу, метод расширения ToHashSet появился в .NET Framework 4.7.2. А ещё в 4.7.1 его не было. Если на вашем компьютере установлен .NET Framework 4.7.2 или выше, а на тех компьютерах, на которых вы пробуете, версия младше, то вот как раз не будет работать с такой ошибкой.
0
0 / 0 / 1
Регистрация: 12.01.2017
Сообщений: 104
22.06.2020, 18:14  [ТС]
Люди говорят, что у них поставлен последний framework.
А я могу какой-нибудь dll положить в папку с прогой, взяв его у себя, чтобы у других людей тоже работало?
0
15 / 13 / 3
Регистрация: 20.08.2017
Сообщений: 32
22.06.2020, 18:57
Нет, не можете.

И может и не в этом дело. Там ещё всё усугубляется тем, что в PascalABC.NET в стандартной библиотеке тоже определен метод расширения ToHashSet. Он появился раньше, чем в стандартной библиотеке Microsoft и на беду имеет то же имя и параметры.

Понять, в чём дело, до конца не могу - библиотека у меня компилируется. Правда, у меня нет программы, которая эту библиотеку подключает - может, при её запуске падает?

Тогда пришлите её.

Более простой способ - изменить 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.ToHa shSet
на что-то эквивалентное - например, на
var ABC := HSet('абвгдеёжзийклмнопрстуфхцчшщъыьэюя' .AsEnumerable);

Конечно, это неудобно
0
0 / 0 / 1
Регистрация: 12.01.2017
Сообщений: 104
22.06.2020, 19:08  [ТС]
Вот приложение: https://gitlab.com/Roman.Svetl... cation.pas
(оно немного устарело, но в теории должно вызывать ту же ошибку, ведь hashset я с тех пор не трогал)
Цитата Сообщение от miks1965 Посмотреть сообщение
И может и не в этом дело. Там ещё всё усугубляется тем, что в PascalABC.NET в стандартной библиотеке тоже определен метод расширения ToHashSet. Он появился раньше, чем в стандартной библиотеке Microsoft и на беду имеет то же имя и параметры.
А как мне определить, что из этого я использую?
0
15 / 13 / 3
Регистрация: 20.08.2017
Сообщений: 32
22.06.2020, 20:10
У меня ваше приложение работает. Трудно правда понять, что оно делает с файлами в папке Directoria. И на больших папках падает с выходом за границы индекса.

Но ошибки, о которой говорили вы, у меня нет.

Правда, dll откомпилирована и используется на одной машине. Это - не чистый эксперимент.

По хорошему, неважно, какой TohashSet используется - они оба работают одинаково. Вот если можно dll с вашей машины попробовать - тогда будет чистый эксперимент.
0
0 / 0 / 1
Регистрация: 12.01.2017
Сообщений: 104
22.06.2020, 20:14  [ТС]
Хм. Вот всё, скомпиленое у меня:
https://cloud.mail.ru/public/5B3D/4rwywGU9T

(считает статистику текста из файлов в папках в папке Books)
0
15 / 13 / 3
Регистрация: 20.08.2017
Сообщений: 32
22.06.2020, 20:32
Вот результат работы у меня.



Всё работает. Это я запустил "Author Identification.exe"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2020, 20:32
Помогаю со студенческими работами здесь

Не удается неявно преобразовать тип string в System.Collection.Generic.Queue<int>
Такая во ошибка не удаеться неявно преобразовать тип string в System.Collection.Generic.Queue&lt;int&gt; public static void Counter(int...

Не удалось найти реализацию шаблона запроса для исходного типа "Collection<Checkout>" . "Where не найден."
Здравствуйте, только знакомлюсь с Linq, поэтому не знаком с данной ошибкой : &quot;Не удалось найти реализацию шаблона запроса для исходного...

Не найден System.Windows.Controls
У меня .NET 4.0, не могу подключть using System.Windows.Controls; Пишет, что Controls отсутствует в пространстве имен System.Windows

Не найден класс System.Net.WebClient
Добрый день, друзья. Давно не пользовался С# и поэтому возвращаюсь в форум для начинающих. У меня горе: нет в наличии класса ...

Несовместимость по доступности: доступность типа одного поля ниже другого
Добрый вечер....У меня пишет ошибку Несовместимость по доступности: доступность типа поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru