У меня есть библиотека классов C # .NET, которую я открыл в COM, генерируя tlb.Это будет использоваться в Excel VBA пользователями для создания своих собственных функций.Я называю это «MyLib.dll» и «MyLib.tlb».
Сейчас мы находимся в режиме UAT и развернуты на компьютере пользователя в C: \ UAT [мои двоичные файлы приложения] ,Итак, я регистрирую свою DLL из этого пути как regasm C: \ UAT \ MyLib.dll /codebase.
Но когда мы перейдем к производству, мы развернем на C:\ PROD \ [исполняемые файлы моего приложения] .Итак, я бы зарегистрировал его как regasm C: \ PROD \ MyLib.dll /codebase.
Это не будет работать, так как версия prod сломает старую версию UAT для tlb.Следовательно, пользователи, распространяющие листы, которые используют UAT-версию моего tlb, не будут работать.Кроме того, в будущем я не могу выпускать с разными именами библиотек для UAT и PROD, потому что база кода одна и та же, и я не могу продолжать изменять имя проекта или tlb для каждой из версий.
Как решатьэта ситуация или есть какой-либо способ заставить его работать, когда имя и функции tlb одинаковы и могут работать в зависимости от пути, в котором он развернут, или какова общая рекомендация - иметь много версий tlb на одном компьютере.
Большое спасибо.