Подавлять предупреждения tlbimp в визуальной студии - PullRequest
3 голосов
/ 27 мая 2009

В проекте Visual Studio C # можно добавлять ссылки на библиотеки COM. Затем Visual Studio будет использовать tlbimp.exe для создания сборки взаимодействия при сборке проекта. Ссылка выглядит так в файле .csproj:

  <ItemGroup>
    <COMReference Include="TDAPIOLELib">
      <Guid>{F645BD06-E1B4-4E6A-82FB-E97D027FD456}</Guid>
      <VersionMajor>1</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>tlbimp</WrapperTool>
      <Isolated>False</Isolated>
    </COMReference>
  </ItemGroup>

Однако библиотека типов 3-го участника, которую я импортирую здесь, заставляет tlbimp выдавать некоторые предупреждения. Как мне подавить эти предупреждения в визуальной студии? Я пытался изменить инструмент оболочки на

  <WrapperTool>tlbimp /silent</WrapperTool>

но это заставляет visual studio жаловаться на

Произошла ошибка столкнулся, что мешает ссылки 'TDAPIOLELib' с погрузки. инструмент-обертка 'tlbimp / silent' не является допустимый инструмент обертки.

Ответы [ 2 ]

4 голосов
/ 22 августа 2009

, если библиотека COM не постоянно меняет свои интерфейсы COM, вы можете запустить импортер typelib один раз, а затем ссылаться на сборку взаимодействия в вашем проекте. Если у вас есть reg free COM, все, что нужно, это скопировать библиотеку COM в вашу папку вывода сборки.

2 голосов
/ 27 мая 2009

Я в конечном итоге использовал цель BeforeBuild для явного вызова tlbimp.exe:

  <Target Name="BeforeBuild">
     <Exec Command="tlbimp /silent ..\3rdparty\comlibrary.dll /out:..\bin\interop.comlibrary.dll" />
  </Target>

Это требует ссылки на двоичный файл interop.comlibrary.dll, что приводит к появлению небольшого желтого предупреждающего знака на ссылку в Visual Studio при открытии проекта перед первой сборкой.

...