System.IO.FileLoadException: не удалось загрузить файл или сборку 'Pkcs11Interop, версия = 3.3.0.0 - PullRequest
2 голосов
/ 31 мая 2019

Я хочу разработать приложение, которое может читать токены и выполнять подписывание PDF. К вашему сведению, я успешно подписал документ pdf, но после того, как я обновил версию Pkcs11Interop с 3.3.0.0 до 4.1.1.0, тогда подписанный переход стал неудачным. Я пытался включить AutoGenerateBindingRedirects, но я все еще не могу подписать PDF

Ожидается, что PDF успешно подписан, но я получаю эту ошибку

System.IO.FileLoadException: не удалось загрузить файл или сборку 'Pkcs11Interop, версия = 3.3.0.0, культура = нейтральная, PublicKeyToken = ноль' или одна из его зависимостей. Определение манифеста локализованной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Ошибка снимка экрана

что я понимаю, это приложение пыталось вызвать версию Pkcs11interop = 3.3.0.0

Однако, это уже упоминалось в репозитории Nuget о его зависимостях. Так что, должно быть, все в порядке, верно?

Pkcs11Interop.PDF

/* App.config */

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
    <dependentAssembly>
        <assemblyIdentity name="Pkcs11Interop" publicKeyToken="c10e9c2d8c006d2a"/>
        <bindingRedirect oldVersion="3.3.0.0" newVersion="4.1.1.0"/>
    </dependentAssembly>
</configuration>

что я должен сделать, чтобы решить эту ошибку зависимостей?

1 Ответ

0 голосов
/ 02 июня 2019

Я вижу две проблемы в том, что вы пытаетесь сделать:

  1. Pkcs11Interop 3.3.0 не подписан строго, но все более новые версии. Таким образом, вам нужно будет перенаправить с неподписанной на подписанную сборку, которая AFAIK невозможна.
  2. Pkcs11Interop 4.x содержит изменения API, несовместимые с версиями 3.x, поэтому даже если вы каким-либо образом сделали переадресацию, Pkcs11Interop.PDF не сможет использовать более новую версию Pkcs11Interop.

Я мог бы обновить Pkcs11Interop.PDF для более новых версий Pkcs11Interop, но у меня пока нет ETA для этого => в настоящее время лучше просто придерживаться Pkcs11Interop 3.3.0.

...