Метод исключения Libsodium не найден С#

Я пытаюсь создать простое консольное приложение для шифрования и дешифрования на С# с использованием libsodium. Я установил libsodium-net. Я использую Visual Studio 2019 и установил распространяемый Visual Studio 2015-2019. Сборка прошла успешно, но когда я пытаюсь запустить ее, возникает исключение:

**System.TypeInitializationException**: 'The type initializer for 'Sodium.SodiumCore' threw an exception.'
Inner Exception
MissingMethodException: Method not found: 'System.Reflection.Emit.AssemblyBuilder System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName, System.Reflection.Emit.AssemblyBuilderAccess)'.

Exception Я попробовал решение, указанное здесь: Libsodium-net - невозможно загрузить DLL 'libsodium.dll

Но это не решило мою проблему. Когда я пытаюсь переустановить распространяемый пакет Visual Studio 2015, он говорит, что установка не удалась, поскольку в системе уже установлена ​​​​другая версия. ">Ошибка установки


person kaashif    schedule 24.05.2021    source источник
comment
Как вы потребляете метод, которого не хватает? Где код, который вы используете, который скомпилирован нормально, но выдает исключение во время выполнения?   -  person Jamshaid K.    schedule 24.05.2021
comment
Если вам нужно простое приложение, почему бы не использовать встроенные API шифрования? Libsodium-net представляет собой оболочку .net вокруг нативной библиотеки, и это общий источник проблем. Начнем с того, что обычно вы больше не можете быть независимыми от платформы.   -  person JonasH    schedule 24.05.2021
comment
Похоже, вы пытаетесь использовать библиотеку .net framework из .net core или .net. Если вам действительно нужно использовать эту версию библиотеки, выберите фреймворк net48/net461. Если вы можете использовать более новую версию, попробуйте найти версию, совместимую с netcore.   -  person JL0PD    schedule 24.05.2021