【问题标题】:Stop License Acceptance popup by Auto Accepting Nuget within visual studio通过 Visual Studio 中的自动接受 Nuget 停止许可证接受弹出窗口
【发布时间】:2020-04-10 07:22:42
【问题描述】:

是否可以自动接受许可证,以便弹出窗口,例如下面的一个,每当我想安装一个 nuget 包时都不会出现。

如果我必须安装 5 个 nuget 包,它会显示 5 个项目。理想情况下,它将自动接受所有并且不显示弹出窗口。

【问题讨论】:

  • 抱歉,据我所知,目前 VS 不支持这种情况。您可以在下面查看我的答案以获取更多详细信息,尤其是从#1开始到结束。请随时让我知道它是否有帮助:-)

标签: .net visual-studio .net-core nuget


【解决方案1】:

通过在视觉范围内自动接受 Nuget 来停止许可证接受弹出窗口 工作室

据我所知,目前这不是 VS IDE 中支持的行为。 VS IDE 本身没有这个选项来打开/关闭自动接受一个 nuget 包的许可。

如果我必须安装 5 个 nuget 包,它会显示 5 个项目。

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.为了尊重开发包作者的选择,当我们安装一个作者设置requireLicenseAcceptance=true的包时,VS IDE会提示License Acceptance popup

#3。至于您在问题中提到的auto accept license,我们不建议您全部自动接受。正如 Matt 所述 here:并非所有 NuGet 软件包在 nuget.org 上都是免费的,但是(尽管如此?)其中很多都是免费的。所以有些包可能有特殊的许可需要我们审查。

事实上,据我所知,VS IDE 没有选项或支持 VS 扩展来执行此操作...

另外:Github/nugethere 中有一个关于requireLicenseAcceptance 属性的公开讨论。如果有任何更新,您可以跟踪该问题并获取通知。

希望以上所有内容有所帮助,如果我有任何误解,请随时纠正我:)

【讨论】:

  • 未来对 VS 的一种可能支持是提供具有更大灵活性的设置。例如,当 nuget 不是免费的,或不同的许可证类型,或作者列表时,它会弹出。如果它是免费的、定义的作者(例如 Microsoft)、定义的许可证类型,它会自动接受。我会接受你的回答,因为 VS 目前不支持。
  • 好主意,我建议您可以在我们的用户语音论坛中发布功能请求:Developer Community,您可以在那里分享您的想法,如果获得足够的选票,产品团队会认真考虑.感谢您的建议和帮助,让 VS 变得更好:)
猜你喜欢
  • 1970-01-01
  • 2021-12-19
  • 2021-12-04
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2021-05-18
  • 2021-12-09
  • 2022-06-13
相关资源
最近更新 更多