培训
模块
创建新的 .NET 项目并使用包依赖项 - Training
创建 .NET 项目并了解如何在项目中添加包和管理包依赖项。 通过 Visual Studio Code 使用 .NET Core CLI 和 NuGet 注册表,向 C# 应用程序添加库和工具。
NuGet 1.8 发行说明 | NuGet 2.1 发行说明
NuGet 2.0 已于 2012 年 6 月 19 日发布。
由于安装了旧版本,尝试升级 NuGet 时如果运行 VS 2010 SP1,则可能会出现安装错误。
解决方法是直接卸载 NuGet,然后从 VS 扩展库安装它。 有关详细信息,请参阅 https://support.microsoft.com/kb/2581019 或直接转到 VS 修补程序。
注意:如果 Visual Studio 不允许卸载扩展(“卸载”按钮被禁用),则可能需使用“以管理员身份运行”来重启 Visual Studio。
正如有关包还原同意的此文中所述,NuGet 2.0 现需要同意才能使包还原变为联机状态并下载包。 请确保已通过包管理器配置对话框或 EnableNuGetPackageRestore 环境变量提供同意。
从版本 2.0 开始,包依赖项可能会因目标项目的框架配置文件而异。 此功能将使用更新后的 .nuspec
的架构来实现。 <dependencies>
元素现可包含一组 <group>
元素。 每个组均包含零个或多个 <dependency>
元素和一个 targetFramework
属性。 当目标框架与目标项目的框架配置文件兼容时,将会一起安装组中的所有依赖项。 例如:
<dependencies>
<group>
<dependency id="RouteMagic" version="1.1.0" />
</group>
<group targetFramework="net40">
<dependency id="jQuery" />
<dependency id="WebActivator" />
</group>
<group targetFramework="sl30">
</group>
</dependencies>
请注意,组可包含零个依赖项。 在以上示例中,如果将包安装到面向 Silverlight 3.0 或更高版本的项目中,则不会安装任何依赖项。 如果将包安装到面向 .NET 4.0 或更高版本的项目中,则会安装两个依赖项: jQuery 和 WebActivator。 如果将包安装到面向这 2 个框架的早期版本的项目中,或是面向任意其他框架的项目,则会安装 RouteMagic 1.1.0。 组之间不存在继承。 如果项目的目标框架与组的 targetFramework
属性匹配,则只会安装该组中的依赖项。
包可采用以下两种格式之一来指定包依赖项:<dependency>
元素的平面列表的旧格式,或是组。 如果使用了 <group>
格式,则无法将包安装到低于 2.0 的 NuGet 版本中。
请注意,这两种格式不允许混合使用。 例如,以下代码片段无效 且会被 NuGet 拒绝。
<dependencies>
<dependency id="jQuery" />
<dependency id="WebActivator" />
<group>
<dependency id="RouteMagic" version="1.1.0" />
</group>
</dependencies>
除程序集引用外,内容文件和 PowerShell 脚本还可按目标框架进行分组。 在用于指定目标框架的 lib
文件夹中找到的同一文件夹结构现可以相同方式应用于 content
和 tools
文件夹。 例如:
\content
\net11
\MyContent.txt
\net20
\MyContent20.txt
\net40
\sl40
\MySilverlightContent.html
\tools
\init.ps1
\net40
\install.ps1
\uninstall.ps1
\sl40
\install.ps1
\uninstall.ps1
注意:由于 init.ps1
会在解决方案级别执行且不依赖于任何单个项目,因此须将其直接放置在 tools
文件夹中。 如果将其放置在特定于框架的文件夹内,则会将其忽略。
此外,NuGet 2.0 还有一项新功能是允许框架文件夹为空。在此情况下,NuGet 不会添加程序集引用、添加内容文件或运行针对特定框架版本的 PowerShell 脚本。 在以上示例中,文件夹 content\net40
为空。
现已更新 NuGet 包管理器控制台中的选项卡完成功能,从而大幅提高性能。 在显示建议下拉列表之前,按下 Tab 键后的延迟将大幅缩短。
NuGet 2.0 包括众多 bug 修复,且重点关注包还原同意和性能。
有关 NuGet 2.0 中已修复工作项的完整列表,请查看 [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%202.0&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)
。
培训
模块
创建新的 .NET 项目并使用包依赖项 - Training
创建 .NET 项目并了解如何在项目中添加包和管理包依赖项。 通过 Visual Studio Code 使用 .NET Core CLI 和 NuGet 注册表,向 C# 应用程序添加库和工具。