私は統合サーバーで作業しており、COM ライブラリを参照する C#.NET 4.5 ソリューションを構築したいと考えています。COM オブジェクトが CI マシンにインストールされていません。
手元に .tlb ファイルがあります。tlbimp.exe を使用して .dll を既に作成し、参照を .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 を登録せずにビルドを続行する方法はありますか?
ありがとう!ラインハルト。