无法加载文件或程序集“System.Buffers, Version=4.0.2.0...”

Ada*_*sen 11 .net c# reference visual-studio nuget

在使用 VS config 添加新配置后尝试调用类的GetDatabase方法时,我收到以下异常MongoClient。经理:

Could not load file or assembly 'System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)

我安装了最新的 System.Buffer nuget 包 v4.5.1,在我的 app.config 中创建了dependentAssembly,在我的 .csproj 文件中创建了 Reference,但我仍然有同样的问题。出于某种原因,它尝试使用 v4.0.2 引用 System.Buffer。有没有人遇到过类似的错误,你是如何解决的?

Mr *_*ian 8

\n

无法加载文件或程序集“System.Buffers,版本=4.0.2.0\xe2\x80\xa6\”

\n
\n

解决方案

\n

1)使用CMD(以管理员身份运行)并输入

\n
 cd xxxx(xxxx\\packages\\System.Buffers.4.5.1\\lib\\netstandard2.0))\n
Run Code Online (Sandbox Code Playgroud)\n

跑步

\n
gacutil /i System.Buffers.dll\n
Run Code Online (Sandbox Code Playgroud)\n

然后,完成后,请运行update-package -reinstallpackage manager console重新安装该软件包。

\n

2)你可以尝试在csproj文件中更改Version=4.0.2.0Version=4.0.3.0

\n

另外,还有一个类似的问题,可以参考一下。

\n


小智 6

就我而言,我必须在已在 Azure 应用服务中发布的 web.config 中的标签内添加程序集引用<configuration></configuration>

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)