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

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

你可能感兴趣的:(NuGet增强了对Mono的支持,并开始支持C++)