Почему Strong Name Bypass не работает под AppDoman.ApplicationBase при использовании xUnit? - PullRequest
0 голосов
/ 05 сентября 2018

Я подделал открытый ключ в сборке, используя Mono.Cecil (по причине). Подпись сборки теперь недействительна, но я ожидаю, что она все равно будет работать из-за обхода строгого имени . Сейчас я пытаюсь загрузить его (.NET 4.7.1):

  1. Консольное приложение, папка под ApplicationBase - отлично работает
  2. Консольное приложение, папка не находится под ApplicationBase - отлично работает
  3. xUnit test, папка под ApplicationBase - не работает, см. Ниже
  4. xUnit test, папка не под ApplicationBase - работает нормально

Ошибка, которую я получаю в 3: Could not load file or assembly 'MyAssembly, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)

Я не понимаю 2 (согласно статье «Обход строгого имени» это не должно работать), и я не понимаю 4 по той же причине, но мой главный вопрос о 3.

Почему бы не использовать Strong Name Bypass в случае 3, если он работает во всех остальных случаях?

Обновление:

Если я отключаю теневое копирование в xUnit, сценарий 3 начинает работать - почему?

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