System.IO.FileNotFoundException:“无法加载文件或程序集”Newtonsoft.Json,版本= 12.0.0.0,

Dan*_*man 7 c#

这是我得到的错误:

System.IO.FileNotFoundException:“无法加载文件或程序集“Newtonsoft.Json,版本= 12.0.0.0,文化=中性,PublicKeyToken = 30ad4fe6b2a6aeed”。该系统找不到指定的文件。'

这是我在cs项目中的内容:

<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
  <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)

路径似乎是正确的。

我尝试找到不同的解决方案,例如将软件包重新安装到早期版本并将 app.config 修改为:

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
    </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.3.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

没有任何效果。

小智 0

在您的错误中,指出找不到库版本“12.0.0.0”。在您的配置参考中列出的版本是“12.0.3”

版本不匹配可能是这里的原因。

当我遇到这个问题时,通常是在从源代码管理中检查代码之后,由于某种原因引用丢失了。在这种情况下,它帮助我卸载 nuget,签入,重新安装它们并构建(并再次签入)。也许这对你有用。