Я разработал специальное расширение оболочки для машины x64, и оно работает хорошо. Когда я установил пакет (созданный на любом процессоре) на машине с руку, dll может загружаться с помощью dllhost.exe (x86), но мое пользовательское меню не отображается при щелчке правой кнопкой мыши по целевым файлам, таким как изображение/аудио/видео. И когда я установил платформу на Arm64 и собрал dll, работающую на машине Arm, dllhost.exe(arm64) загрузит ее, и появится меню. И я провожу следующий тест: (решение включает в себя проект упаковки приложения Windows, файл wpf , dll-расширение оболочки, которое я разместил здесь)
- соберите wap/wpf/dll в любом процессоре. На машине с Arm64 dllhost.exe(x86) загружает dll, но меню не отображается.
- создайте dll в Arm, wpf/dll в x64. На машине с Arm64 dllhost.exe (совместимый с Arm64 x64) загружает dll, но меню не отображается.
- создайте dll в Arm и wap/dll в любом процессоре. dllhost.exe(arm64) загружает dll, и на руке отображается меню
Поэтому кажется, что dll расширения оболочки должно быть построено на основе руки. Но когда я проверяю некоторые приложений, которые могут отображать специальные расширения оболочки, я считаю, что Clipchamp хорошо работает на руке, хотя он создан на любом процессоре. Я сравниваю весь соответствующий реестр между моим пакетом AnyCPU и Clipchamp. Разницы нет. Я не уверен, в чем дело. Моя цель состоит в том, что я хочу создать только один пакет (лучше на базе x64), который может работать как на Arm, так и на x64.
Подробнее здесь:
https://stackoverflow.com/questions/792 ... rm-machine