无法加载文件或程序集&System; Net.Net.Http,Version = 4.1.1.1 .Net Standard

时间:2017-08-08 08:45:43

标签: c# .net class-library .net-standard

我正在构建一个.Net标准库,它构建良好,但在测试时,我收到此错误

  

HResult = -2147024894 Message =无法加载文件或程序集&System; Net.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。该系统找不到指定的文件。来源=图书馆试验

我已经安装了System.Net.Http Nuget Package仍然没有成功。这是一个新项目,所以我必须做错什么

4 个答案:

答案 0 :(得分:8)

正如Ved Tiwari上面所说,删除app.config(或解决方案/项目)中对“4.1.1.1”的引用。

例如,我删除了以下内容并重新开始工作:

<dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.1.2" newVersion="4.1.1.2" />
</dependentAssembly>

答案 1 :(得分:0)

如果您安装了System.Diagnostics.DiagnosticSource依赖项,请将其删除并将System.Net.Http更新为4.1.1.1版

答案 2 :(得分:0)

要在我的解决方案中修复同样的错误,我不仅要从 Web.config see @Rado's answer)删除bindingRedirect的{​​{1}},还需要从项目文件( *。csproj )中删除System.Net.HttpVersion等及Culture引用。

基本上,在 *。csproj 中改变了

HintPath

<Reference Include="System.Net.Http, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <HintPath>..\packages\System.Net.Http.4.1.0\lib\net46\System.Net.Http.dll</HintPath>
</Reference>

答案 3 :(得分:-1)

web.config文件中添加以下内容:

<dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.1.1.2" newVersion="4.0.0.0" />
</dependentAssembly>