.NETプロジェクトでCOMDLLを参照したいのですが、作成された相互運用機能DLLのバージョンが正しいことを確認したいと思います(パッチがDLLをいつ変更する必要があるかを認識できるようにするため)。
使用する場合はフラグを使用TlbImp
して必要なバージョンを指定できますが、/asmversion
Visual Studioから直接追加すると、元のCOMDLLのバージョンとは関係のないバージョンが取得されます。
.vcproj
ファイルのバージョンを変更してみました
<ItemGroup>
<COMReference Include="MYDLLLib">
<Guid>{459F8813-D74D-DEAD-BEEF-00CAFEBABEA5}</Guid>
<!-- I changed this -->
<VersionMajor>1</VersionMajor>
<!-- This too -->
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
</ItemGroup>
しかし、プロジェクトは次のエラーでビルドに失敗しました。
エラーCS0246:タイプまたは名前空間名'MYDLLLib'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)
TlbImp
すべてのCOM参照を事前に作成せずにこれを実行する方法はありますか?
答えが「はい」の場合、メジャーバージョンとマイナーバージョンに加えてビルド番号を指定する方法はありますか?(例:1.2。42 .0)