C# System.IO.FileLoadException:

C# System.IO.FileLoadException:,c#,visual-studio-code,arduino,C#,Visual Studio Code,Arduino,这是我使用的代码段,注意****是我名字的替换 using System; using ArduinoUploader; using ArduinoUploader.Hardware; namespace SoftwareAssignment { class Program { static void Main(string[] args) { var uploader = new ArduinoSketchUploade

这是我使用的代码段,注意****是我名字的替换

using System;
using ArduinoUploader;
using ArduinoUploader.Hardware;

namespace SoftwareAssignment
{
    class Program
    {
        static void Main(string[] args)
        {
            var uploader = new ArduinoSketchUploader(
                new ArduinoSketchUploaderOptions()
                {
                     FileName = @"C:\Users\****\OneDrive\Desktop\Blink\Blink.hex",
                     PortName = "COM5",
                     ArduinoModel = ArduinoModel.Micro
                });

            uploader.UploadSketch();
        }
    }
我在Visual Studio 2019中使用ArduinoUploader将.hex文件上载到arduino时收到异常

System.IO.FileLoadException: 'Could not load file or assembly 'IntelHexFormatReader, Version=2.2.3.0, Culture=neutral, PublicKeyToken=null'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)'
这些是细节

System.IO.FileLoadException
  HResult=0x80131040
  Message=Could not load file or assembly 'IntelHexFormatReader, Version=2.2.3.0, Culture=neutral, PublicKeyToken=null'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
  Source=ArduinoUploader
  StackTrace:
   at ArduinoUploader.ArduinoSketchUploader.UploadSketch(IEnumerable`1 hexFileContents)
   at ArduinoUploader.ArduinoSketchUploader.UploadSketch()
   at SoftwareAssignment.Program.Main(String[] args) in C:\Users\****\source\repos\SoftwareAssignment\SoftwareAssignment\Program.cs:line 20


我不知道该如何解决这个问题,或者它是否是ArduinoUploader软件包使用较旧的.NET framework版本的结果,或者是否有办法解决这个问题。代码是用C#编写的。

您可以通过多种方式重新绑定程序集,对我个人来说,最简单的方法是在配置文件中。低于



但是请注意,不能保证您拥有的程序集能够像您期望的那样工作,无论是旧的还是新的。我建议你试着找一个合适的。也就是说,如果您不能,那么以上就是您最好的解决方案。

您可以通过多种方式重新绑定程序集,对我个人来说,最简单的方法是在配置文件中。低于



但是请注意,不能保证您拥有的程序集能够像您期望的那样工作,无论是旧的还是新的。我建议你试着找一个合适的。也就是说,如果您不能,那么以上就是您的最佳选择。

我听到您的操作。您必须了解,您需要安装另一个NuGet软件包,即IntelExReader。这是同一个小伙子写的,TwinEarthSoftware。在VisualStudio中搜索它。在定义使用的目录时,不需要包含它。与.NET framework无关,它只是建议它需要2.2.3.0版的IntelHexFileReader。

我听到你的建议。你必须明白,你需要安装另一个NuGet软件包,即IntelHexReader。这是同一个小伙子写的,TwinEarthSoftware。在VisualStudio中搜索它。在定义使用的目录时,不需要包含它。与.NET framework无关,只是建议它需要2.2.3.0版的IntelHexFileReader

<dependentAssembly>
  <assemblyIdentity name="someAssembly"
    publicKeyToken="32ab4ba45e0a69a1"
    culture="en-us" />
  <bindingRedirect oldVersion="7.0.0.0" 
newVersion="8.0.0.0" />
</dependentAssembly>