Intellilock тормозит со знаком хэш-значения dll

Я хочу использовать Intellilock 1.8 для блокировки пакета надстроек Outlook2010. Он включает в себя, среди прочего, Mocrosoft VSTO dll, мою пользовательскую подписанную dll и файл манифеста с хешем безопасности. Я предоставил файл ключа проекта *.snk при блокировке этой библиотеки DLL, но все равно получаю сообщение об ошибке при попытке установить финальный пакет:

System.Deployment.Application.InvalidDeploymentException: Файл, OutlookAddIn2010.dll, имеет вычисленный хэш, отличный от указанного в манифесте.

Исходная установка Visual Studio также автоматически создает подписанный манифест ClickOnce. Основная DLL упоминается в этом разделе:

  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="OutlookAddIn2010.dll" size="275968">
      <assemblyIdentity name="OutlookAddIn2010" version="2.7.0.0" publicKeyToken="DEDC24E24E6D7D88" language="neutral" processorArchitecture="msil" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>Vg17KBReMnOV9emW0ddVuN7AaIU=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>

1 ответ

Решение

Решение состоит в том, чтобы применить подпись IntelliLock перед основной сборкой. Решение такое же, как и в этом вопросе.

<Target Name="AfterCompile">
    <Exec Command="$(IntelliLockLocation) -project $(IntelliLockProject) -file &quot;$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)&quot; -targetfile &quot;$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)&quot;  -snkeypair &quot;$(ProjectDir)$(AssemblyOriginatorKeyFile)&quot; -snpassword *****" />
  </Target>
Другие вопросы по тегам