C# 无法加载文件或程序集';BouncyCastle.Crypto,版本=1.8.1.0,区域性=neutral,PublicKeyToken=null';或者它的一个依赖项

C# 无法加载文件或程序集';BouncyCastle.Crypto,版本=1.8.1.0,区域性=neutral,PublicKeyToken=null';或者它的一个依赖项,c#,C#,我正在尝试将沃尔玛.NETSDK集成到.NET4.61MVC5应用程序中。使用NuGet,我添加了对BouncyCastle.Crypto 1.8.1.0的引用 SDK使用.NET标准1.3,并引用BouncyCastle.Crypto 1.8.1.3: 1.8.1.3不适用于.NET 4.61 {"Could not load file or assembly 'BouncyCastle.Crypto, Version=1.8.1.0, Culture=neutral, PublicKeyT

我正在尝试将沃尔玛.NETSDK集成到.NET4.61MVC5应用程序中。使用NuGet,我添加了对BouncyCastle.Crypto 1.8.1.0的引用

SDK使用.NET标准1.3,并引用BouncyCastle.Crypto 1.8.1.3:

1.8.1.3不适用于.NET 4.61

{"Could not load file or assembly 'BouncyCastle.Crypto, Version=1.8.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"BouncyCastle.Crypto, Version=1.8.1.0, Culture=neutral, PublicKeyToken=null"}

=== Pre-bind state information ===
LOG: DisplayName = BouncyCastle.Crypto, Version=1.8.1.0, Culture=neutral, PublicKeyToken=null
 (Fully-specified)
LOG: Appbase = file:///C:/Users/example_user/Source/Workspaces/CCC/Test/example_app.Test.DataAccessUnitTest/bin/Debug
LOG: Initial PrivatePath = NULL
Calling assembly : Walmart.Sdk.Base, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\example_user\Source\Workspaces\CCC\Test\example_app.Test.DataAccessUnitTest\bin\Debug\example_app.Test.DataAccessUnitTest.dll.config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Users/example_user/Source/Workspaces/CCC/Test/example_app.Test.DataAccessUnitTest/bin/Debug/BouncyCastle.Crypto.DLL.
LOG: Attempting download of new URL file:///C:/Users/example_user/Source/Workspaces/CCC/Test/example_app.Test.DataAccessUnitTest/bin/Debug/BouncyCastle.Crypto/BouncyCastle.Crypto.DLL.
LOG: Attempting download of new URL file:///C:/Users/example_user/Source/Workspaces/CCC/Test/example_app.Test.DataAccessUnitTest/bin/Debug/BouncyCastle.Crypto.EXE.
LOG: Attempting download of new URL file:///C:/Users/example_user/Source/Workspaces/CCC/Test/example_app.Test.DataAccessUnitTest/bin/Debug/BouncyCastle.Crypto/BouncyCastle.Crypto.EXE.

我不得不使用.NET46解决方案。Walmart.Sdk.Base程序集基于.NET标准1.3构建。我需要引用.NET 4.6中的库。

我的问题是在同一个解决方案中同时构建一个项目,该解决方案通过NuGet引用一个较旧的库,有时它会覆盖最新的库。升级此项目中的NuGet包修复了此问题。

dll不在您的bin文件夹中(调试或发布)。为了证明我是正确的,把弹跳球放入正确的垃圾箱文件夹中。如果可行,请执行以下操作:添加现有项,然后浏览BouncyCastle可执行文件。然后,编译器将在您构建时将最新的BouncyCastle复制到bin文件夹。您好,我没有看到BouncyCastle EXE,因为我使用的是.NET4.61。我没有使用.NETCore。.DLL存在于我的软件的调试文件夹中。这确实对我有帮助。谢谢。我很高兴这有帮助