BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

NuGet增强了对Mono的支持,并开始支持C++

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 李彬 关注 1 他的粉丝 发布于 2013年5月14日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

开发者可以通过Visual Studio(VS)的NuGet扩展更加容易地安装和维护第三方插件。自 2010年起,使用.NET平台的开发者就得以从NuGet中获益,而借助于新的2.5版本的NuGet项目,C++开发者现在也可以使用NuGet为其项目获取工具和类库了。(对于寻找NuGet 2.3或2.4版本的人来说,他们并没有错过任何东西——NuGet团队表示,根据升级的幅度,他们跳过了这些版本号。)

新版本包含多项改进:

  • 能够在升级/安装过程中确认文件覆写(并包括“是否全部覆写”的选项),而不是默认为自动跳过这些文件。
  • 优于早先发布的PowerShell cmdlet,NuGet现在支持通过GUI点击“全部升级”按钮升级所有已安装的程序包。
  • 修复了不区分大小写的问题——此前,文件中大小写的不同可能会出问题,因为NuGet会忽略文件。这个问题一般会在Linux中运行Mono项目的时候出现。
  • 新增对MonoAndroid、MonoTouch和MonoMac框架的支持,允许创建将安装在Mono for Android项目中的NuGet程序包。
  • 在程序包中添加“最低NuGet版本”的属性,以指明对版本的要求——NuGet程序包能够通过该属性指定安装它所必须的最低版本的NuGet。注意,这一变更意味着NuGet 2.5以前的版本将不能够安装带有这一属性集的包,无论它的值是什么。
  • 现在,程序包的依赖关系只有在需要的时候才会更新——此前已有的程序包无论是否需要都会被升级到最新版本。
  • 使用程序包中的\build文件夹自动导入MS Build目标和属性文件。

NuGet对C++的支持

NuGet项目中另一个意义重大的新增部分是对C++项目的支持。NuGet项目的Jeff Handley在博客中表示,NuGet的官方介绍已经做了调整以介绍这一新功能:

“NuGet是针对微软开发平台(包括.NET)的程序包管理器。NuGet客户端工具支持生产和使用程序包。NuGet Gallery(nugget.org)是所有程序包作者和使用者们所使用的中央程序包仓库。”

NuGet为开发者提供了一个系统,能够管理向项目中添加的插件。NuGet使用MSBuild来生成具有合适属性和目标的文件。另一个额外的好处是,由于是在每个解决方案的基础上缓存NuGet程序包,因此同一个类库可以在多个项目间共享。

NuGet支持VS2010和VS2012,对依旧使用老平台的开发者提供了有用地支持——在利用往返特性的时候这是一个额外的好处 。CoApp项目的开发者提供了一个测试版本的工具集,以便能够更加容易地创建基于C++的NuGet包。

查看英文原文NuGet Improves Mono Support, Adds C++


感谢孙镜涛对本文的审校。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT