重提為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