В итоге мы нашли пару ссылок о проекте под названием tlbimp2 в codeplex и скомпилировали нашу собственную модифицированную версию tlbimp2:
- http://clrinterop.codeplex.com/discussions/208832
- http://clrinterop.codeplex.com/SourceControl/changeset/view/39798
Я взял код из проекта tlbimp версии 2. и изменил его по принципу 1. Было несколько проблем, с которыми нам пришлось работать:
В TlbImp.cs Я должен был явно собрать номер версии файла из результата FileVersionInfo.GetVersionInfo, поскольку свойство FileVersion было пустым:
if (Options.m_strFileVersion == null)
{
// get the fileversion
var versionInfo =
FileVersionInfo.GetVersionInfo(Options.m_strTypeLibName);
Options.m_strFileVersion =
versionInfo.FileMajorPart
+ "." + versionInfo.FileMinorPart
+ "." + versionInfo.FileBuildPart
+ "." + versionInfo.FilePrivatePart;
}
В tlbimpcode.cs мне пришлось переключиться:
AsmBldr.DefineVersionInfoResource(
strProduct,
strProductVersion,
strCompany,
strCopyright,
strTrademark);
до:
AsmBldr.DefineVersionInfoResource();
В противном случае пользовательские ресурсы не будут использоваться.
Надеюсь, это поможет кому-то еще с такой же проблемой.