Поскольку COM нечувствителен к регистру, и "RandomClass", и "randomClass" являются одним и тем же символом в таблице выходной библиотеки.(Это одна из причин, почему в руководствах .NET рекомендуется использовать PascalCasing для имен и методов классов.)
Выбранный будет первым, который испустит компилятор, и это довольно недетерминировано с точки зренияточка зрения программиста!
Вы можете выбрать один или другой, используя параметр /names
в tlbexp, но оба корпуса не могут сосуществовать в библиотеке.
Комуиспользуйте файл имен tlbexp, вы просто создаете файл со списком идентификаторов, по одному на строку:
RandomClass
SomeOtherIdentifier
Затем вы называете его так:
tlbexp MyAssembly.dll /names=MyNames.txt
Затем tlbexp будет использоватьверсия символа, определенного в файле имен.