The biggest irritant at this point is the excessive folder nesting required to support VS2012's ExtensionSDKs.
On disk extension has to be in a folder that looks like this:
<root>\Windows\v8.0\ExtensionSDKs\<sdkname>\<sdkversion>
So that the <root>
folder can be added to the project's <SdkReferenceRoot>
element.
Which means that as we unpack the nupkg files into .\packages it should go into a location like:
...\packages\
<pkgname-1>\Windows\v8.0\ExtensionSDKs\<sdkname>\<sdkversion>\<actual content goes here>
<pkgname-2>\Windows\v8.0\ExtensionSDKs\<sdkname>\<sdkversion>\<actual content goes here>
<pkgname-3>\Windows\v8.0\ExtensionSDKs\<sdkname>\<sdkversion>\<actual content goes here>
and then we still have to add ...\packages\<pkgname-1>;...\packages\<pkgname-2>;...\packages\<pkgname-3>
to the <SdkReferenceRoot>
, just to get them all included.
I really detest that excessive nesting for no productive purpose. it just increases the complexity in a way that you *know* is gonna come back and bite us in the behind later. What happens with Windows 7, 9, 10 or 11? What about SDKs that work on multiple OSes?. I'm really not happy about the Extension SDK model at all anymore. I was thinking that it was implemented in a moderately convenient fashion, but it's just crap.