Я создаю сборку .NET с интерфейсом COM. В идеале я хотел бы, чтобы разделы реестра были отделены от сборки, поэтому для выполнения выпуска требуется только отбросить .dll на общий диск (вместо этого нужно выталкивать MSI каждый раз)Предотвратить повторное использование .NET во время вызова COM
Я создал разные классы, унаследованные из основного класса, чтобы получить разные GUID для каждой среды.
Однако, когда я проверяю это, первая загруженная версия (например, разработка) заканчивает обслуживание вызовов для других сред (например, тест) позже. Обычно это не проблема, но при использовании этого компонента вызывается из всего исполняемого исполняемого файла GUI за весь день. Разумеется, люди могут работать в разных средах в течение дня.
Каждый интерфейс имеет независимую базу кода, установленную в реестре (без GAC), а монитор процесса показывает, что обе сборки загружены, но используется только первый. Я полагаю, это потому, что .NET видит одно и то же имя класса/сборки и повторное использование первого загруженного.
Как я могу изолировать сборки в этой ситуации?