.net – Suppress tlbimp warnings in visual studio

msbuildnettlbimpvisual studiovisual-studio-2008

In a visual studio C# project, it is possible to add references to COM libraries. Visual Studio will then use tlbimp.exe to generate the interop assembly when building the project. The reference looks like this in the .csproj file:

  <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>

However, the 3rdparty type library which I am importing here causes tlbimp to emit some warnings. How do I suppress these warnings in visual studio? I tried to change the wrapper tool to

  <WrapperTool>tlbimp /silent</WrapperTool>

but that causes visual studio to complain with

An error has been
encountered that prevents reference
'TDAPIOLELib' from loading. The
wrapper tool 'tlbimp /silent' is not a
valid wrapper tool.

Best Answer

unless the COM library is constantly changing it's COM interfaces you could run the typelib importer once and then refer to the interop assembly in your project from then on. If you have reg free COM all that's needed is that the COM library be copied into your build output folder.