определение манифеста расположенной сборки не соответствует ссылке на сборку - PullRequest
1 голос
/ 15 января 2020

У меня есть консольный EXE, написанный на C# в Visual Studio 2015. Первоначально на. Net 4.62. Он использует некоторые зависимости от пакета под названием «CertMgmt.SDK», который является внутренним для нашей компании. Этот пакет зависит от другого пакета под названием «Polly». Прямо сейчас внутренний пакет управления сертификатами (CertMgmt.SDK) является версией 1.0.2.2 (хотя это, вероятно, не имеет большого значения), а пакет Polly - 7.2.0. Обе последние версии, которые я могу получить из внутренних источников пакета NuGet нашей компании (которые я должен использовать). Все работает нормально, но когда я его запускаю, я получаю:

Необработанное исключение: System.ApplicationException: произошла ошибка со следующим сообщением: не удалось загрузить файл или сборку 'Polly, Version = 6.0.0.0, Культура = нейтральная, PublicKeyToken = c8a3ffc3f8f825 cc 'или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Это когда я пытаюсь вызвать функцию из CertMgmt.SDK.

Я не могу понять, где упоминается эта версия 6.0.0.0 Полли. Глядя на файлы в моем проекте в разделах, которые относятся к CertMgmt.SDK или Polly, я вижу:

App.Config:

      <dependentAssembly>
        <assemblyIdentity name="Polly" publicKeyToken="c8a3ffc3f8f825cc" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-7.2.0.0" newVersion="7.2.0.0"/>
      </dependentAssembly>

packages.Config

  <package id="Polly" version="7.2.0" targetFramework="net462" />
  <package id="CertMgmt.SDK" version="1.0.2.2" targetFramework="net462" />

В файле моего проекта .csproj

<Reference Include="Polly, Version=7.2.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc, processorArchitecture=MSIL">
  <HintPath>..\packages\Polly.7.2.0\lib\net461\Polly.dll</HintPath>
  <Private>True</Private>
</Reference>

<Reference Include="CertMgmt.SDK, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <HintPath>..\packages\CertMgmt.SDK.1.0.2.2\lib\net462\CertMgmt.SDK.dll</HintPath>
  <Private>True</Private>
</Reference>

Кажется, я не могу найти никакой другой ссылки на этот пакет Polly. Я удалил раздел из App.Config, который, похоже, ничего не изменил. Я также пытался понизить версию, но наш пакетный источник имеет только 6.0.1, а не 6.0.0, и даже с этим я получил то же сообщение об ошибке. Принуждение к попытке получить сборки 6.0.0 с ошибкой пакета не найден. Я сделал проект чистый также без удачи.

...