当前位置: 首页 > 知识库问答 >
问题:

无法加载文件或程序集”System.网。HTTP,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a"

阎雪峰
2023-03-14

我已经将我的项目复制到一个干净的Windows 10机器,仅安装了Visual Studio 2015社区和SQLServer 2016 Express。除了Windows 10和VS2015或SQL服务器安装的框架版本之外,没有安装其他框架版本。

当我尝试启动WebApi项目时,我收到以下消息:

无法加载文件或程序集“System.Net.Http,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。

项目包包括:

<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Tracing" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" />

项目建成后,使用。NET框架4.6.1,系统。网Httpbin文件夹中找不到该文件。

文件的路径指向:

C:\ProgramFiles(x86)\Reference Assembly\Microsoft\Framework。NETFramework\v4。6.1\系统。网Http。动态链接库

系统的文件路径。网Http。格式化指向:

C:\开发\MyApp\包\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.网。http://http.Formatting.dll

整个项目应以4.5.1为目标,还是有其他方式参考正确的组件?

共有3个答案

薛滨海
2023-03-14

在我的一个项目中,有一个nuget软件包具有更高版本的系统。网Http。在我的启动项目中,有对系统的引用。网Http V4.0.0,我刚刚安装了这个系统。网我的启动项目中的Http nuget包和问题已解决

罗昱
2023-03-14

按照以下步骤操作:,

>

  • 将visual studio更新至最新版本(这很重要)
  • web删除所有绑定重定向。配置
  • 将此添加到。csproj文件:

    <PropertyGroup>
      <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
      <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
    </PropertyGroup>
    

    它应该能行

  • 冯浩旷
    2023-03-14

    更改我的web中的绑定信息。config(或app.config)——在我看来,这是一种“黑客行为”,允许你在NuGet包更新攻击你的应用程序并提供给你系统后继续你的项目。网Http错误。

    设置oldVersion=“0.0.0.0-4.1.1.0”newVersion=“4.0.0.0”,如下所示

    <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.0.0.0" />
    </dependentAssembly>
    
     类似资料:
    • 问题内容: 我正在使用c#和数据库MySQL开发桌面应用程序。当我在计算机上安装其安装程序时,它可以正常工作,但是当我在其他计算机上安装它的安装程序时,尝试访问数据库时会出现以下异常。我用来与MySQL通信。 无法加载文件或程序集“ MySql.Data,版本= 6.2.2.0,区域性=中性,PublicKeyToken = c5687fc88969c44d”或其依赖项之一。该系统找不到指定的文件

    • 问题内容: 我完全不知所措-我仍然什至没有真正理解的地方遇到超级奇怪的问题…我正在运行Entity Framework 4.1,MySql 5.xx和MySql Connector为6.4.4版-一切正常但是在本地,只要我上传到服务器,就会收到: 我很困惑,我很肯定我在Bin目录中有MySql 6.4.4 dll,我的Web.config也对版本6.3.6进行了零引用- 我已经在整个项目中(使用全

    • 问题内容: 更新到新软件包Microsoft.EntityFrameworkCore.SqlServer 1.1.2之后,尝试创建DBContext时出现错误: 发生System.IO.FileLoadException HResult = 0x80131040 消息=无法加载文件或程序集’Microsoft.Extensions.DependencyInjection.Abstractions,

    • 在 win7 上,我的应用程序工作正常。但是当我尝试在win8上运行它时,我收到一个错误。 无法加载文件或程序集“系统.Web.WebPages.Razor,版本=2.0.0.0 System.Web.WebPages.Razor.dll 在发布期间是本地复制的。如果这很重要,我不久前从 mvc4 迁移到 mvc5。 堆栈跟踪: [FileLoadException: 无法加载文件或程序集 'Sy

    • 我正在尝试将一个项目从MVC 4/EF 5升级到MVC 5/EF 6。我将框架从4.5更新到4.5.1,然后从Nuget更新了解决方案MVC(4.0.30506.0到5.1.1)和EntityFramework(5到6.1.1)。这引入了Razor依赖项(2.0.30506.0到3.1.1)和WebPages(2.0.30506.0到3.1.1)。我编辑了Project and Views文件夹w

    • 我试图托管一个webproject,但是当服务器试图编译它时,我得到以下错误: 未处理的异常:System.io.FileLoadException:无法加载文件或程序集“Microsoft.codeAnalysis,版本=1.1.1.0,Culture=Neutrice,PublicKeyToken=31BF3856AD364E35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来