编译错误 CS1705 - 引用的程序集 X 使用“...”,其版本高于引用的程序集“...”

Compile error CS1705 - Referenced assembly X uses '...' which has a higher version than referenced assembly '...'

具体错误:

Assembly 'X' with identity 'X, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Runtime.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'System.Runtime.Extensions' with identity 'System.Runtime.Extensions, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

在依赖程序集中调用引用程序集的方法时抛出错误。

用于反序列化内存流和return结果的方法(在引用程序集中):

public static object Deserialize(MemoryStream stream)
    {
        IFormatter formatter = new BinaryFormatter();
        stream.Seek(0, SeekOrigin.Begin);
        return formatter.Deserialize(stream);
    }

调用(在依赖程序集中)抛出上述错误 (CS1705)

为了尝试解决问题,我向引用的程序集添加了一个 App.Config 文件,这是一个 Class 库 [.net 框架],并将其添加到配置中:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Runtime.Extensions"
                      publicKeyToken="b03f5f7f11d50a3a"
                      culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.5.5.5"
                     newVersion="4.2.0.0"/>
  </dependentAssembly>
</assemblyBinding>
</runtime>

无论我选择哪个新版本,错误信息都保持不变。 我无法理解正在发生的事情。

答案是我就是个白痴。 我错误地选择了 [.netCore] 而不是 [.netFramework],只是没有意识到。