重提为Visual C++创建扩展SDK
作者 Jonathan Allen 译者 方盛
英文原文:Reintroducing Extension SDKs for Visual C++
Visual Studio 2012 有一个没有得到充分报道的特性,那就是它拥有为 Visual C++ 创建扩展 SDK 的能力。SDK 开发类似于在 .NET 中创建程序集或者在 Java 中创建 JAR 文件,它对于开发 Windows 8 应用程序非常重要。
C++开发者清楚,构建类库是一个相当乏味的过程。每个库并不仅仅是一个 DLL 文件,它还包括各种头文件和 TLB 文件(其中包含的是链接到该类库所需的元数据)。
扩展 SDK 不仅包括以上提到的那些,还包括 .NET 程序集、Windows 元数据文件(WinMD)、工具箱设计时二进制文件、构建脚本和文档等等。标准的目录结构如下图所示:
扩展 SDK 的关键是一个名为 SDKManifest.xml 的文件。该文件用来告知 Visual Studio 和编译器如何解析 SDK。
目前,扩展 SDK 的模型还有很多局限性。即使它们和普通 C++ 代码的配合看起来很完美,但是 IDE 却只支持为 Windows 商店应用开发扩展 SDK。凭借处理 onovotny 的经验,有人指出,“扩展 SDK 对普通的托管库是有效的(虽然没有 UI)”。可以在 NuGet 论坛上找到 C# 的相关例子。
说到这里,有一个关于为 NuGet 提供扩展 SDK 支持的建议(链接)。至于具体实现,时间表似乎并未确定。
http://stackoverflow.com/questions/13149826/any-tools-for-building-extension-sdks-for-visual-c