I don't think you can have a single "2012 to 2016 parts" because there is a break in binary compatibility for .NET applications in the AutoCAD 2013 release due to the split of acad.exe into two files: acad.exe and accore.dll.
For AutoCAD 2013 and later, you need to rebuild your .NET projects referencing a new additional dll: AcCoreMgd.dll (in addition to AcMgd.dll and AcDbMgd.dll). For more details see this thread.
This is why, in the PackageContents I provided as example, there're two <Components .../> parts with two different assemblys:
Code:
<Components Description="2012 parts">
<RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R18.2" SeriesMax="R18.2" />
<ComponentEntry
...
ModuleName="./Contents/ConverterPalette_18.dll"
...>
...
</ComponentEntry>
</Components>
and
Code:
<Components Description="2013 to 2016 parts">
<RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R19.0" SeriesMax="R20.1" />
<ComponentEntry
...
ModuleName="./Contents/ConverterPalette_19.dll"
...>
...
</ComponentEntry>
</Components>