.net - 通过 Visual Studio 中的自动接受 Nuget 停止许可证接受弹出窗口
问题描述
是否可以自动接受许可证,以便在我想安装 nuget 包时不会显示弹出窗口,例如下面的一个。
如果我必须安装 5 个 nuget 包,它会显示 5 个项目。理想情况下,它将自动接受所有并且不显示弹出窗口。
解决方案
通过 Visual Studio 中的自动接受 Nuget 停止许可证接受弹出窗口
据我所知,目前这不是 VS IDE 中支持的行为。VS IDE 本身没有这个选项来打开/关闭自动接受一个 nuget 包的许可。
如果我必须安装 5 个 nuget 包,它会显示 5 个项目。
a 是否License Acceptance popup
会显示在 Visual Studio 实际上取决于 nuget 包的作者是否要求它这样做。所以目前这种行为仅由 nuget 包的作者控制,而不是 VS IDE。
让我为你描述一下:
当一位开发人员想要从他的项目中生成一个 nuget 包时,他可以使用xx.nuspec来定义要发布的包的元数据。他可以把package ID,Authors,version,description...
它放进去。在他使用类似nuget pack xx.nuspec
或其他类似的包命令后,现在他开发的包包含元数据。
(一个xx.nupkg就是一个xx.zip文件,重命名为xx.zip打开就可以看到内容了)
之后他可以将包发布到nuget.org
或其他提要,然后当我们在 VS 中使用它时,我们可以看到如下元数据:
#1 .现在让我们谈谈您遇到的行为的主要原因。请参阅requireLicenseAcceptance:
这是作者可以在xx.nuspec
文件中指定以确定的元素之一:
一个布尔值,指定客户端是否必须在安装包之前提示消费者接受包许可证。
所以你遇到的行为是由作者控制的,而不是 IDE。
#2 .为了尊重开发包的作者的选择,License Acceptance popup
当我们安装一个包的作者设置了requireLicenseAcceptance=true
.
#3 .auto accept license
至于您在问题中提到的,我们不建议您自动接受所有这些。正如马特在这里描述的那样:并非所有的 NuGet 包都是免费的,nuget.org
但是(虽然?)其中很多都是免费的。所以有些包可能有特殊的许可需要我们审查。
实际上,据我所知,VS IDE 或 VS 扩展不支持这样做...
另外:这里requireLicenseAcceptance
有关于该属性的公开讨论。如果有任何更新,您可以跟踪该问题并获取通知。Github/nuget
希望以上所有内容有所帮助,如果我有任何误解,请随时纠正我:)
推荐阅读
- google-cloud-storage - 尽管设置了 CORS 政策,但 Google Cloud Storage Bucket CORS 错误
- java - 从 TreeMap 返回相邻键
- python - 将 3D 列表的出现次数与参考列表匹配
- java - 使用 Selenium 选择没有 ID 的下拉值
- android - on App resume beaconmanager 无法使用 Android 信标库检测信标
- python - Python 字典和 JSON 格式
- r - 如何在 R 中使用重复循环填充矩阵并按条件删除列?
- javascript - 我们如何将动态变量传递给 JavaScript 字典
- postgresql - 在 Azure Functions 中获取连接到 PostgreSQL 的访问令牌
- javascript - 链表中的下一个大节点 (JavaScript)