一般的に提供されるInteropDLL(Microsoft.Interop.Security.AzRolesなど)の主な目的は、2つの独立して作成されたアセンブリが、基になる型への参照を相互に渡す必要がある場合に、型識別子が一致することを確認することです。つまり、AssemblyA.dllが(ComComponent.dllからの)タイプIComInterfaceのオブジェクトのコレクションをパブリックプロパティとして提供する必要があり、AssemblyB.exeがそれらのオブジェクトの1つ以上をComComponentに戻す必要がある場合.dllの場合、共通の相互運用機能DLLが必要です。それがMicrosoft.Interop.Security.AzRoles.dllの目的です。プロジェクトからAzRoles.dllへの参照を追加すると、Visual Studioは、そのアセンブリに固有の識別子を持つ新しいInterop.AzRoles.dllアセンブリを構築します。
結論として、これらの参照を渡すことは気にしないかもしれませんが、独自の相互運用DLLがすでに作成されている場合は、(自動であっても)独自の相互運用機能DLLを作成してもあまり意味がありません。Microsoft.Interop.Security.AzRolesアセンブリを使用します)。また、このアセンブリの証拠はわかりませんが、相互運用機能アセンブリは、理論的には、マネージド非マネージド相互運用機能をより適切に機能させる追加のアダプターのような機能を提供できます。