Можно ли перечислить все установленные версии сборки в GAC с помощью C#? Например, у меня есть сборка с именем " My.Assembly". Сборка может иметь различные версии ("1.0.0.0", "2.3.4.5", "0.1.2.4", ...) и может быть скомпилирована для различных платформ (x86, x64, Any CPU)
Теперь мне нужен способ определить, какие версии/платформы установлены.
Я знаю, что могу перечислить каталоги в GAC, но это кажется неправильным. Должен быть лучший способ сделать это.
Фон У меня есть приложение запуска, в котором пользователь выбирает DLL. Средство запуска извлекает некоторую информацию из DLL (не загружая ее), а затем запускает правильное управляемое приложение C#, которое обрабатывает DLL. DLL может быть скомпилирована для Win32 или x64, но всегда предоставляет один и тот же (независимый от платформы) интерфейс. Я использую функцию LoadLibrary для загрузки DLL в приложение C#. Единственная проблема заключается в том, что процесс должен иметь соответствующий формат (x86 или x64). Приложение C# можно и нужно компилировать для x86, x64 и любого процессора.