NuGet 2.0带来新的打包规约,但还不支持Mono、Python和C++

尽管版本号变化很大,但NuGet2.0实际上只做出了相当小的变化。 除了在包管理控制台中改善了标签页之外,大多数变更都是围绕打包规约(packaging conventions)做出的。

在过去,唯一支持特定框架的文件夹是“lib”。 在这个版本中,“content”和“tools”也可以用类似的方式分开。 content文件夹中的文件会直接复制到项目的根目录下。 这可以用于许可文件、图像以及任何项目需要的文件,除了程序库文件。

tools文件夹主要用于包的安装和卸载脚本。 这些脚本是用PowerShell编写的,当把包添加到项目中时,包管理器就会执行它。 脚本接受的一个参数是$project,它是对Visual Studio的EnvDTE项目对象的引用。 使用它你可以借助一般的VS插件和宏做很多事情。

另一项变更是注册包依赖关系(package dependencies)的方式。 在过去,包的依赖关系要么是所有,要么是没有。 现在你可以通过target框架对依赖关系分组,每个组都带有特定框架的标签。 你还可以创建默认的依赖关系组,但它只有在没有其他匹配的情况下才会被使用。

NuGet仍然是一种明确针对C#、VB和F#的工具。 还没有提供对IronPython、C++/CLI和Mono项目的支持。 由于你无法直接从NuGet.org直接下载NuGet安装包,所以使用这些项目类型的开发者需要使用命令行工具

原文地址:https://www.cnblogs.com/shihao/p/2577171.html