Расширение оболочки C# работает в x64 окончательно, но в x86 происходит сбой с исключением нарушения прав доступа

Я знаю, что это не лучший способ реализовать расширение оболочки в управляемом коде, но это не тема.

У меня есть проект C#, который расширяет SharpShell библиотека. Я следовал руководству, чтобы создать расширение Icon Handler. Во время всей моей разработки я тестировал свою dll на платформе x64. Но теперь я хочу иметь возможность использовать эту dll в обеих платформах, но когда я пытаюсь зарегистрировать свою dll в сбое проводника Windows x86, каждый раз, когда он видит одно из моих расширений с исключением нарушения прав доступа:

Название проблемного события: CLR20r3

Поэтому я попытался перекомпилировать мою DLL в любом процессоре, x86, x64, но никто не работает на этой платформе. Я пытался использовать Диспетчер серверов, предоставленный SharpShell или вручную зарегистрировать мою dll с помощью regasm, но ничего не получалось.

Кто-то имеет представление о том, что здесь происходит?

1 ответ

Не уверен, для чего нужны отрицательные голоса. Расширения Icon Handler будут нормально работать как одна dll, просто убедитесь, что она скомпилирована как "любой ЦП" - однако при регистрации зарегистрируйтесь с правильной версией regasm (есть одна для x64 и одна для x86).

Другие вопросы по тегам