作者:Scott Addie
Visual Studio 在 ASP.NET Core 项目中内置了对 LibMan 的支持,包括:
可通过两种不同的方式将库文件添加到 ASP.NET Core 项目中:
请按照下列步骤以安装客户端库:
在中解决方案资源管理器,右键单击项目文件夹应在其中添加文件。 选择添加 > 客户端库。 添加客户端库此时将显示对话框:
选择从库提供程序提供程序下拉列表。 CDNJS 是默认提供程序。
类型库名称中提取库文本框。 IntelliSense 提供了一系列从提供的文本的库。
从智能感知列表中选择的库。 请注意,库名称作为后缀@
符号和已知的所选提供程序的最新稳定版本。
确定要包括的文件:
指定用于存储中的文件的项目文件夹目标位置文本框。 为建议,将每个库存储在单独的文件夹。
建议目标位置文件夹根据从中启动对话框的位置:
库名称作为后缀文件夹建议。 Razor 页面项目中安装 jQuery 时下, 表说明了文件夹的建议。
启动位置 | 建议的文件夹 |
---|---|
项目根目录 (如果wwwroot存在) | wwwroot/lib/jquery / |
项目根目录 (如果wwwroot不存在) | lib/jquery / |
页项目文件夹中 | 页/jquery / |
单击安装按钮以下载的文件,每个中配置libman.json。
审阅库管理器的源输出安装详细信息窗口。 例如:
Restore operation started... Restoring libraries for project LibManSample Restoring library jquery@3.3.1... (LibManSample) wwwroot/lib/jquery/jquery.min.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.min.map written to destination (LibManSample) Restore operation completed 1 libraries restored in 2.32 seconds
在 Visual Studio 中的所有 LibMan 操作都基于项目根 LibMan 清单的内容 (libman.json)。 您可以手动编辑libman.json若要配置的项目的库文件。 Visual Studio 还原所有库文件一次libman.json保存。
若要打开libman.json进行编辑,存在以下选项:
† 如果libman.json文件尚不存在项目根目录中,它将使用默认项目模板内容的创建。
Visual Studio 提供了丰富 JSON 编辑支持,例如颜色设置、 格式设置、 IntelliSense 和架构验证。 在找到 LibMan 清单的 JSON 架构 https://json.schemastore.org/libman 。
使用以下清单文件,LibMan 检索每中定义的配置文件libraries
属性。 中定义的对象文字说明libraries
后面:
files
属性—jquery.min.js,只需要 jquery.js,以及jquery.min.map。 将文件放置在项目的wwwroot/lib/jquery文件夹。provider
属性重写defaultProvider
属性值。 LibMan 从 unpkg 提供程序中检索启动文件。{ "version": "1.0", "defaultProvider": "cdnjs", "libraries": [ { "library": "jquery@3.3.1", "files": [ "jquery.min.js", "jquery.js", "jquery.min.map" ], "destination": "wwwroot/lib/jquery/" }, { "provider": "unpkg", "library": "bootstrap@4.1.3", "destination": "wwwroot/lib/bootstrap/" }, { "provider": "filesystem", "library": "C:\\temp\\lodash\\", "files": [ "lodash.js", "lodash.min.js" ], "destination": "wwwroot/lib/lodash/" } ] }
备注
LibMan 仅支持每个提供程序从每个库的一个版本。 Libman.json文件未通过架构验证,如果它包含与给定的提供程序库同名的两个库。
若要还原从 Visual Studio 中的库文件,必须有一个有效libman.json项目根目录中的文件。 还原的文件放置在项目中指定每个库的位置。
可以通过两种方式的 ASP.NET Core 项目中还原库文件:
LibMan 可以作为生成过程的一部分还原的已定义的库文件。 默认情况下还原上生成禁用行为。
若要启用和测试还原上生成行为:
右键单击libman.json中解决方案资源管理器,然后选择启用还原客户端上的库生成从上下文菜单。
单击是按钮当系统提示安装 NuGet 包。 Microsoft.Web.LibraryManager.Build NuGet 包添加到项目:
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.113" />
生成项目,以确认 LibMan 文件还原发生。 Microsoft.Web.LibraryManager.Build
包注入项目的生成操作期间运行 LibMan 的 MSBuild 目标。
审阅构建的源输出LibMan 活动日志窗口:
1>------ Build started: Project: LibManSample, Configuration: Debug Any CPU ------ 1> 1>Restore operation started... 1>Restoring library jquery@3.3.1... 1>Restoring library bootstrap@4.1.3... 1> 1>2 libraries restored in 10.66 seconds 1>LibManSample -> C:\LibManSample\bin\Debug\netcoreapp2.1\LibManSample.dll ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
启用还原上生成行为后, libman.json上下文菜单将显示禁用还原客户端上的库生成选项。 选择此选项删除Microsoft.Web.LibraryManager.Build
包从项目文件的引用。 因此,客户端库不再存储在每个版本。
而不考虑还原上生成设置中,您可以手动还原在从任何时候libman.json上下文菜单。 有关详细信息,请参阅手动还原文件。
若要手动还原库文件:
尽管还原操作正在运行:
Visual Studio 在状态栏上的任务状态中心 (TSC) 图标进行动画处理,并将读取还原操作已启动。 单击该图标可打开列出已知的后台任务的工具提示。
消息将发送到状态栏并库管理器的源输出窗口。 例如:
Restore operation started... Restoring libraries for project LibManSample Restoring library jquery@3.3.1... (LibManSample) wwwroot/lib/jquery/jquery.min.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.min.map written to destination (LibManSample) Restore operation completed 1 libraries restored in 2.32 seconds
若要执行干净操作,这将删除以前还原在 Visual Studio 中的库文件:
若要防止无意删除非库文件,清除操作不会删除整个目录。 而只会删除包括在上一个还原的文件。
尽管运行清理操作:
Clean libraries operation started... Clean libraries operation completed 2 libraries were successfully deleted in 1.91 secs
清理操作只会从项目删除文件。 在将来还原操作的更快地检索缓存中保留库文件。 若要管理存储在本地计算机的缓存中的库文件,请使用LibMan CLI。
若要卸载库文件:
打开libman.json。
定位插入符号置于相应libraries
对象文字。
单击左边距中显示的灯泡图标,然后选择卸载<library_name > @<library_version > :
或者,可以手动编辑和保存 LibMan 清单 (libman.json)。 还原操作运行时保存该文件。 不能再中定义的库文件libman.json从项目中删除。
若要检查有更新的库版本:
libraries
对象文字。LibMan 检查安装的版本比新的库版本。 会出现以下结果:
一个找不到更新如果已安装最新版本,则会显示消息。
最新稳定版本是显示如果还没有安装。
如果现已安装的版本比新预发布版本,会显示预发行版。
若要降级到较旧的库版本,手动编辑libman.json文件。 保存文件时,LibMan还原操作: