4

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>

ただし、ここでインポートしているサードパーティのタイプライブラリにより、tlbimpはいくつかの警告を発します。Visual Studioでこれらの警告を抑制するにはどうすればよいですか?ラッパーツールをに変更しようとしました

  <WrapperTool>tlbimp /silent</WrapperTool>

しかし、それはビジュアルスタジオに文句を言う原因になります

参照'TDAPIOLELib'をロードできないエラーが発生しました。ラッパーツール'tlbimp/silent'は有効なラッパーツールではありません。

4

2 に答える 2

4

COMライブラリがCOMインターフェイスを絶えず変更していない限り、typelibインポーターを一度実行してから、プロジェクト内の相互運用機能アセンブリを参照できます。reg free COMがある場合、必要なのはCOMライブラリをビルド出力フォルダーにコピーすることだけです。

于 2009-08-22T03:17:22.980 に答える
3

結局、BeforeBuildターゲットを使用してtlbimp.exeを明示的に呼び出すことになりました。

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

これには、interop.comlibrary.dllバイナリを参照する必要があります。その結果、最初のビルドの前にプロジェクトを開くときに、VisualStudioの参照に小さな黄色の警告サインが表示されます。

于 2009-05-27T15:06:24.560 に答える