Возможна ли сборка решения С#/COM за пределами сайта?

Я работаю на сервере интеграции, и теперь я хотел бы создать решение C#.NET 4.5, которое ссылается на библиотеку COM. COM-объект НЕ установлен на машине CI.

У меня есть файл .tlb под рукой. Я уже создал .dll с помощью tlbimp.exe и включил ссылку в файл .csproj:

  <ItemGroup>
    <COMReference Include="myComName">
      <Guid>{theGUID}</Guid>
      <VersionMajor>1</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>tlbimp</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>True</EmbedInteropTypes>
    </COMReference>
  </ItemGroup>

Однако сборка вызывает следующее предупреждение

   warning MSB3284: Cannot get the file path for type library "<theGUID>" version 1.0. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))

Правда, не зарегистрирован. Я бы предпочел компилятор и компоновщик для получения необходимой информации о типе из сгенерированного файла .dll.

Есть ли способ продолжить сборку без регистрации COM .dll?

Спасибо! Рейнхард.


person Reinhard Mayr    schedule 09.12.2015    source источник
comment
Вы ищете COM без регистрации?   -  person clD    schedule 09.12.2015


Ответы (1)


Сначала мне пришлось удалить ссылку на зарегистрированный COM-интерфейс. Затем .dll работал нормально. Спасибо за ответы!

person Reinhard Mayr    schedule 21.12.2015