Visual Studio 2012有一个没有得到充分报道的特性,那就是它拥有为Visual C++创建扩展SDK的能力。SDK开发类似于在.NET中创建程序集或者在Java中创建JAR文件,它对于开发Windows 8应用程序非常重要。

\

C++开发者清楚,构建类库是一个相当乏味的过程。每个库并不仅仅是一个DLL文件,它还包括各种头文件和TLB文件(其中包含的是链接到该类库所需的元数据)。

\

扩展SDK不仅包括以上提到的那些,还包括.NET程序集、Windows元数据文件(WinMD)、工具箱设计时二进制文件、构建脚本和文档等等。标准的目录结构如下图所示:

\

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

\

扩展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中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

相关文章:

  • 2021-11-10
  • 2022-12-23
  • 2021-05-27
  • 2021-10-02
  • 2021-08-05
  • 2022-12-23
  • 2021-09-29
猜你喜欢
  • 2021-05-18
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
  • 2022-01-16
相关资源
相似解决方案