Reintroducing Extension SDKs for Visual C++

An under-reported feature of Visual Studio 2012 is the ability to create Extension SDKs for Visual C++. SDK development is analogous to creating assemblies in .NET or JARs in Java and is very important for Windows 8 application development.

As C++ developers are well aware, building libraries is a rather tedious process. Each library is not just a DLL, it also includes the various header and TLB files that contain the metadata needed to link to the library.

An extension SDK includes not only that but also .NET assembly or Windows Metadata (WinMD) files, toolbox design-time binaries, build scripts, documentation, etc. The standardized directory structure is shown below:

The key to the Extension SDK is a file named SDKManifest.xml. This file tells Visual Studio and the compilers how to interpret the SDK.

Currently there are a lot of limitations the Extension SDK model. Even though they appear to be a perfect fit for normal C++ code, the IDE only supports Extension SDKs for Windows Store applications. According to someone going by the handle onovotny, “Extension SDKs do work for regular managed libraries (though there's no UI)”. You can see an example of this for C# on the NuGet forum.

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our architect newsletter?

Subscribe to our industry email notices?

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.