CsWinRT
CsWinRT copied to clipboard
Fix scenario where one authoring component project references another
It is possible to have a CsWinRT component project reference another CsWinRT component project and for one to define interfaces while the other implements them. We were previously not treating the types from the referenced component project as a CsWinRT or WinRT component and were redefining them or not putting them on the vtable. This addresses those issues by looking for if our authoring metadata type where we define all our attributes for authoring types (ABI.Impl.<TypeName>) exists or not. If it does exist, we treat that as an existing projected WinRT type.