Что означает код NTSTATUS 0xC015001D (STATUS_SXS_IDENTITIES_DIFFERENT)?

 
Предыдущий Следующий
STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT

STATUS_SXS_IDENTITIES_DIFFERENT

Ожидаемая и фактическая идентичности сборок различаются

STATUS_SXS_IDENTITIES_DIFFERENT означает, что сравниваемые идентичности не совпадают. Там, где этого требуют правила манифеста, ссылка на зависимость должна точно соответствовать идентичности определяющей сборки; похожего имени сборки недостаточно.

Сравните все поля идентичности, включая архитектуру, язык, версию и маркер открытого ключа. Это отличается от STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: тот статус обнаруживает одинаковые идентичности с конфликтующим содержимым, тогда как этот обнаруживает различающиеся идентичности ещё до предположения об эквивалентности содержимого.

Что проверить

  • Соберите обе полные идентичности: из ссылки на зависимость и из манифеста разрешённой сборки.
  • Проверьте архитектуру и язык до замены сред выполнения; сборки x86 и amd64 могут иметь знакомое имя продукта, но не являются взаимозаменяемыми.
  • Исправьте ссылку в манифесте либо разверните именно ту сборку, которую она именует, вместо изменения только отображаемого имени DLL.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.