在visual C#项目中,可以添加对COM库的引用。然后,Visual将在构建项目时使用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 3rdparty类型库会导致tlbimp发出一些警告。如何在visual中抑制这些警告?我试图将包装工具更改为
<WrapperTool>tlbimp /silent</WrapperTool>但是,这会导致visual studio抱怨
遇到一个错误,无法加载引用“TDAPIOLELib”。包装工具'tlbimp /silent‘不是一个有效的包装工具。
发布于 2009-05-27 15:06:24
最后,我使用BeforeBuild目标显式调用tlbimp.exe:
<Target Name="BeforeBuild">
<Exec Command="tlbimp /silent ..\3rdparty\comlibrary.dll /out:..\bin\interop.comlibrary.dll" />
</Target>这确实需要引用interop.comlibrary.dll二进制文件,在第一次构建之前打开项目时,在visual中的引用上会出现一个黄色警告标志。
发布于 2009-08-22 03:17:22
除非COM库不断地更改它的COM接口,否则您可以运行类型库导入器一次,然后从那时起在项目中引用互操作程序集。如果您有reg空闲COM,那么所需要的就是将COM库复制到构建输出文件夹中。
https://stackoverflow.com/questions/916027
复制相似问题