фона:Регистрация и вызвать .exe в GAC
Я работаю над проектом, где у меня есть DLL в 32-битную (позволяет называть его MyDLL.dll). Я должен был заставить MyDll.dll работать как для 32-разрядных, так и для 64-битных приложений, но поскольку MyDll.dll вызывает другую 32-разрядную dll, я создал 32-разрядный .exe для работы в качестве прокси (назовем его MyExe.exe). Теперь я могу скомпилировать MyDll.dll как AnyCPU, и он начнет и отправит вызовы MyExe.exe, который скомпилирован как 32-разрядный. Это работает, когда я кладу MyDll.dll и MyExe.exe в папку Bin моего проекта. (Более подробное описание истории можно найти в this question)
Моя проблема:
32-разрядные DLL, что я начал с был зарегистрирован в GAC (GAC_32). Мне удалось зарегистрировать MyDll.dll, скомпилированный как AnyCPU в GAC (GAC_MSIL), и я вижу, что он используется правильно. Однако, когда я зарегистрировал 32-разрядный MyExe.exe в GAC (GAC_32), он не используется.
Я новичок в GAC и у меня есть два вопроса:
Могу ли я убедиться, что MyDll.dll начинает MyExe.exe, когда оба они находятся в GAC? Я начинаю MyExe.exe как это:
System.Diagnostics.Process.Start("MyExe.exe");
Это хорошая практика, или было бы лучше просто пропустить GAC?