我已经下载了最新的.NET Framework,并且正在VS 2017 15.8.7上开发.NET Core 2.0应用程序。 这是我安装的软件包。
using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
{
}
我在此行遇到错误,说:
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.
这是我的.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" />
为什么会出现此错误。我可以添加参考以使其正常工作吗?
[UPDATE] 我在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>
答案 0 :(得分:3)
有问题。您的目标是.NET Core。您正在使用的代码在幕后使用WebRequest
,. NET Core中不存在。您需要定位整个框架:
<TargetFramework>net461</TargetFramework>
或您要定位的任何版本。那当然意味着您只能在Windows服务器上运行此应用程序。
答案 1 :(得分:1)
我知道您可能会遇到此错误的2种情况:
答案 2 :(得分:0)
有时,这有助于在NuGet(System.Net.Http)上安装丢失的软件包的最高版本。可能发生的情况是ASP.NET使用的版本与PowerBI不同,并且可能需要绑定重定向。