找不到类型或命名空间名称“HttpResponseMessage”

JP *_*ons 3 c# nuget .net-4.7.2

我已经验证具有 as 返回类型的文件HttpResponseMessage设置为“编译”,就像他们在这里所说的:Why I can not use HttpResponseMessage class?

我已从packages.config迁移到packagereference(nuget),并有一个包含webapi的.net 4.7.2 mvc项目。之前它可以工作,但是在几次 Nuget 更新之后就不再工作了。我遇到了 system.web.http 和框架中 4.0.0 版本的构建以及较新的 4.x nuget 的问题。

我的问题似乎与https://github.com/Microsoft/dotnet/issues/737有关,但我不确定。

我也尝试过这个/sf/answers/3506697491/

这是我的 web.config 的一部分:

<system.web>
<globalization fileEncoding="utf-8" culture="auto" uiCulture="auto" enableClientBasedCulture="true"/>
<compilation debug="true" targetFramework="4.7.2">
  <assemblies>
    <add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </assemblies>
</compilation>
<httpRuntime targetFramework="4.7.2"/>
Run Code Online (Sandbox Code Playgroud)

using System.Net.Http;切换回 4.7.1 会使智能感知给出添加而不是的建议using System.Web.Http;,并且似乎确实修复了它。但为什么?

所以我现在可以发布“答案”:恢复到 4.7.1。所以问题是:为什么会解决这个问题?

编辑

我已手动从packages.config移至packagereference并发现:Visual Studio 2017 - 无法加载文件或程序集'System.Runtime,Version = 4.1.0.0'或其依赖项之一 它说应该有一个迁移选项。但我没有看到它并删除了 .config 文件。我已经重新安装了大部分 nuget 软件包,但System.Runtime, Version=4.2.1.0即使安装了 4.3.0 nuget,我仍然卡在这个位置。通常,VS 在调试信息中为我提供了双击并重定向 web.config 中的程序集绑定的选项。但它不存在,所以也许需要手动添加?

我也尝试添加

 <ItemGroup>
  <PackageReference Include="Legacy2CPSWorkaround" Version="1.0.0">
    <PrivateAssets>All</PrivateAssets>
  </PackageReference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

所有其他 nuget 的包引用。但这也没有帮助。我还尝试添加 NetStandard.Library nuget,但这也没有帮助......

添加

<dependentAssembly>
  <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.3.0" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

这也没有帮助。之前web.config中没有system.runtime。它仍在努力寻找System.Runtime, Version=4.2.1.0

Dav*_*SFT 6

.NET 4.7.2 上不需要任何包或绑定重定向。只需引用 System.Net.Http 和 \xe2\x80\x9cusing System.Net.Http\xe2\x80\x9d 就可以使 HttpResponseMessage 可用。

\n\n

此问题相关: https: //github.com/dotnet/sdk/issues/2221

\n\n

请安装 Visual Studio 2017 更新 15.8。它将确保项目文件和依赖项适用于您的场景。

\n\n

请参阅: https: //blogs.msdn.microsoft.com/visualstudio/2018/08/14/visual-studio-2017-version-15-8/

\n