FileNotFoundException:无法加载文件或程序集'System.Net.Http.WebRequest'

MAK*_*MAK 7 asp.net system.net system.net.httpwebrequest asp.net-core-2.0

我已经下载了最新的.NET Framework,我正在使用VS 2017 15.8.7上的.NET Core 2.0应用程序.这是我安装的软件包.

在此输入图像描述

using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
      {

      }
Run Code Online (Sandbox Code Playgroud)

我在这一行收到错误,说:

FileNotFoundException: Could not load file or assembly 'System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

这是我的.csproj

 <PackageReference Include="Microsoft.AspNetCore.App" />
 <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
 <PackageReference Include="Microsoft.PowerBI.Api" Version="2.0.14" />
 <PackageReference Include="Microsoft.PowerBI.Core" Version="1.1.11" />
 <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.6" />
 <PackageReference Include="System.Net.Http" Version="4.3.4" />
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误.我可以添加一个引用来使它工作吗?

[更新] 我在我的csproj中添加了以下行,我不再收到此错误.

<ItemGroup>
    <Reference Include="System.Net.Http">
      <HintPath>..\..\..\..\..\..\Windows\Microsoft.NET\Framework\v4.0.30319\System.Net.Http.dll</HintPath>
    </Reference>
    <Reference Include="System.Net.Http.WebRequest">
      <HintPath>..\..\..\..\..\..\Windows\Microsoft.NET\Framework\v4.0.30319\System.Net.Http.WebRequest.dll</HintPath>
    </Reference>
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

Chr*_*att 5

那是你的问题。您的目标是 .NET Core。您正在使用的代码在后台使用WebRequest,在 .NET Core 中不存在。您需要针对完整框架:

<TargetFramework>net461</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

或者您想要定位的任何版本。这当然意味着您只能在 Windows 服务器上运行此应用程序。