Метод в dll, бросающий System.MissingMethodException: метод не найден - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть .NET Core 2.0 Web API, который, очевидно, встроен в C #.У меня есть метод, который вызывает функцию void из dll VB, и когда я запускаю программу, этот вызов функции выдает следующее исключение.

System.MissingMethodException: Method not found: 'System.Object Microsoft.VisualBasic.Interaction.IIf(Boolean, System.Object, System.Object)'

Я зарегистрировал dll на GAC, я ссылался на сам проекткроме файла .dll, и даже в этом случае Visual Studio не позволил бы мне даже отладить его.

Использование Visual Studio 2017, .NET Core 2.0 Framework.

Ответы [ 2 ]

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

Короче говоря, нет способа интегрировать VB DLL в .NET Core.Большинство встроенных функций VB не работают.Мой совет - перевести dll на c #.

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

Все в .NET Core теперь является пакетами NuGet.Просто добавьте пакет Microsoft.VisualBasic в свой проект от NuGet, и все будет хорошо.

Имейте в виду, похоже, вы используете Microsoft.VisualBasic.Interaction.IIf метод.Эта версия прямо эквивалентна языку C #: оператор ? .Используйте это так:

var myVariable = something == "A" ? "Equals A" : "Doesn't equal A"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...