编译错误 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],只是没有意识到。
具体错误:
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],只是没有意识到。