FileNotFoundException: не удалось загрузить файл или сборку 'System.Net.Http.WebRequest' - PullRequest
0 голосов
/ 11 октября 2018

Я скачал последнюю версию .NET Framework и работаю над приложением .NET Core 2.0 для VS 2017 15.8.7.Вот пакеты, которые я установил.

enter image description here

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" />

Почему я получаю эту ошибку.Можно ли добавить ссылку, чтобы она работала?

[ОБНОВЛЕНИЕ] Я добавил следующие строки в свой 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>

Ответы [ 3 ]

0 голосов
/ 06 ноября 2018

Я знаю 2 ситуации, когда вы можете получить эту ошибку:

  • пакет nuget не установлен в «клиентском проекте» решения (недостаточно добавить зависимость к общему /факторизованный проект решения; иногда вам нужно добавить зависимость к проекту, используя его самому)
  • ваша определенная версия Framework несовместима ни между всеми проектами вашего решения, ни с уже установленным пакетом nuget;Вы можете сделать большое обновление всех своих пакетов nuget и проверить версию Framework, определенную для каждого из ваших проектов
0 голосов
/ 06 ноября 2018

Иногда это помогает установить максимально возможную версию отсутствующего пакета на NuGet ( System.Net.Http ).Может случиться, что ASP.NET использует версию, отличную от PowerBI, и могут потребоваться перенаправления привязки.

0 голосов
/ 11 октября 2018

Вот твоя проблема.Вы ориентируетесь на .NET Core.Код, который вы используете, использует WebRequest под капотом, которого нет в .NET Core.Вам необходимо настроить таргетинг на полную структуру:

<TargetFramework>net461</TargetFramework>

или на любую версию, на которую вы хотите ориентироваться.Это, конечно, означает, что вы можете запускать это приложение только на сервере Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...