重提为Visual C++创建扩展SDK

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

查看英文原文Reintroducing Extension SDKs for Visual C++


感谢臧秀涛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

This entry was posted in Case. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s