#.net-core
#.net-core
Вопрос:
Я использую стороннюю dll, чтобы попытаться связаться с их программой. Когда я вызываю метод для открытия соединения, я получаю сообщение об ошибке
«Система.Исключение TypeLoadException: не удалось загрузить type ‘System.ServiceModel.NetNamedPipeBinding «из системы сборки».ServiceModel, Version= 4.0.0.0, Culture = нейтральный, PublicKeyToken=b77a5c561934e089’.»
Прямо сейчас я делаю это в консольном приложении, чтобы просто убедиться, что я все делаю правильно. Я вижу в документации Microsoft, что NetNamedPipeBinding должен быть классом в System.ServiceModel но, похоже, я нигде не могу его найти. Я загрузил все пакеты ServiceModel из NuGet, но не вижу привязки NetNamedPipeBinding.
Я определенно новичок, когда дело доходит до многого из этого, поэтому, пожалуйста, терпите любое злоупотребление терминологией.
Ответ №1:
Вы не можете найти его, потому что используете консольное приложение .NET Core. Если вы посмотрите на документацию, вы увидите:
Применяется к
.NET Framework 4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0 3.5 3.0
Создайте консольное приложение .NET Framework, и вы сможете использовать его из System.ServiceModel
.
Комментарии:
1. и, по-видимому, Microsoft. Windows. Пакет совместимости ( nuget.org/packages/Microsoft . Windows. Совместимость ) не помогает в этом :/ Я только что попытался создать библиотеку классов в .NET Core 3.1, которая загружает компонент с помощью этого пакета и выдает его во время выполнения