NuGet增强了对Mono的支持,并开始支持C++
jopen 12年前
开发者可以通过 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