Agentic AI、具身智能、强化学习框架、端侧大模型……来QCon上海站,感受AI的未来! 了解详情
写点什么

微软发布 Visual Studio 扩展 NuGetSolver,简化 NuGet 依赖项冲突解决过程

作者:Almir Vuk

  • 2024-02-17
    北京
  • 本文字数:1204 字

    阅读完需:约 4 分钟

微软发布 Visual Studio 扩展 NuGetSolver,简化 NuGet 依赖项冲突解决过程

最近,微软发布了一款名为 NuGetSolver 的实验性工具。这个 Visual Studio 扩展是与微软研究院合作创建的,旨在简化 Visual Studio 项目中 NuGet 依赖项冲突的解决过程。该扩展高效地解决了常见的 NuGet 错误和警告,帮助开发者在 Visual Studio IDE 中提高工作效率。


据报道,该工具有效地解决了最常见的 NuGet 错误和警告,如依赖包之间的 约束(NU1107)、依赖包不包含任何与项目兼容的资源(NU1202)、检测到的包降级(NU1605),以及当资源可能不是 100% 兼容时的警告(NU1701)。


要开始使用 NuGetSolver,开发者可以从 Visual Studio Marketplace 下载这个名为 NuGetSolver 的扩展。这个实验性扩展通过分析所有依赖关系并提供智能和自动化建议来解决 NuGet 依赖冲突的问题。


用户可以通过在 Solution Explorer 中右键单击并选择 Resolve Dependency Conflicts 选项来访问该工具。据报道,该工具会通过快速计算来确定可能的建议,并显示当前状态与建议状态之间的差异。用户还可以切换到 Show only changes 来查看完整的依赖列表。



(在 Visual Studio 中使用 NuGetSolver,来源:Microsoft DevBlogs)


默认情况下,该工具建议使用稳定版本,如果需要,还可以选择包含预发布版本。原博文透露,如果开发人员接受推荐的建议,应选择 Apply fix 选项,然后重新构建解决方案以验证解决方案。此外,作者还指出:


建议在你的存储库中启用源代码控制,以便在必要时可以轻松恢复 NuGetSolver 所做的更改。


此外,文中还指出,如果解决方案当前没有依赖冲突,开发者仍然可以运行该工具来升级依赖项,尽量减少更改。这比使用 NuGet 包管理器一个一个地升级包更快速、更可靠,尤其是在面对其他依赖约束时。


该工具需要 Visual Studio 2022 和网络连接才能正常使用。它从 nuget.org 检索可用的包版本,并从提供的缓存托管服务下载缓存数据库文件。


不过,在使用时要注意一些使用建议和已知的限制。目前仅支持 nuget.org 源,不支持多源和本地源。虽然尚未完全支持多目标框架,但该工具可能会为某些目标框架生成修复方案。如果使用自定义 MSBuild 逻辑进行版本设置,Apply Fix 功能可能无法完全支持更新版本。


需要注意的是,当切换到 Include prerelease 选项时,NuGetSolver 在建议计算中可能不会考虑所有可用的预览版本。对于使用packages.config或 legacy-sdk 样式的项目,该工具可以生成建议,但无法直接应用修复,需要开发者手动修复。


虽然 NuGetSolver 可以解决编译时依赖冲突,但仍可能出现运行时错误。此外,该工具不验证建议的版本是否存在已知漏洞,因此建议开发者使用 NuGet 中的审计功能来解决此问题。


总的来说,NuGetSolver 对于希望在 Visual Studio 中简化 NuGet 依赖管理的开发者来说非常宝贵的一款工具。它通过自动化冲突解决并提供依赖图的可视化表示,提高了效率,让开发人员能够专注于构建出色的应用程序。


查看英文原文

https://www.infoq.com/news/2024/01/introducing-nuget-solver/

2024-02-17 08:0016607

评论

发布
暂无评论
发现更多内容

低代码可视化工具10分钟完成应用开发

互联网工科生

软件开发 低代码平台 可视化开发 JNPF

如何做代币分析:以 LINK 币为例

Footprint Analytics

区块链 加密货币 代币 LINK

每日一题:LeetCode-662. 二叉树最大宽度

Geek_4z9ami

面试 算法 LeetCode 二叉树 BFS

技术人2023年终总结,大模型对小城市程序猿的深远影响|社区征文

百里丶落云

AI #大模型

投资引路人:认知体系决定成败

少油少糖八分饱

投资 认知 能力圈 反人性 人性

喜报!酷克数据携手中移在线入选2023大数据“星河”数据库优秀案例

酷克数据HashData

百度王颖:百度文库重构为“一站式AI内容创作平台”,成为内容创作新起点

新消费日报

生成式AI:未来的发展方向是什么?

不在线第一只蜗牛

人工智能 生成式人工智能 技术 优化体系

汇聚数据库创新力量 打造千行万业数据基石,openGauss Summit 2023即将召开

彭飞

质量免费吗?

BY林子

软件质量 质量内建 缺陷预防

探索Web前端技术的新趋势与发展

不在线第一只蜗牛

Web 前端技术 互联网+

PostgreSQL 可观测性最佳实践

观测云

数据库 postgresql

村卫生室、诊所云HIS系统源码 支持医保功能

源码星辰

宁波银行:在「金融科技」引擎上,沉浸式提效减负

LigaAI

研发管理 IDEA LigaAI 研发协作 提效

HttpClient5升级笔记--API篇

FunTester

推荐几款非常好用的软件,干货满满!

伤感汤姆布利柏

怎么避免Tik Tok被限流?——海外云手机一键解决

Ogcloud

跨境电商 TikTok 外贸

分享5个程序员必备的终端工具

伤感汤姆布利柏

前端 终端 低代码 JNPF

“双十一、二” 业务高峰如何扛住?韵达快递选择 TDengine

TDengine

tdengine 时序数据库 韵达

空投 | Mint Blockchain 将于 2024 年 1 月 10 号启动 Mint Genesis NFT 空投活动

NFT Research

blockchain NFT\ 空投

inBuilder&openEuler,基于毕昇 JDK,提升大规模Java应用的启动性能

inBuilder低代码平台

低代码 openEuler Java.

使用 Amazon CodeCatalyst 中的生成式 AI 助手 Amazon Q 提高开发人员的工作效率(预览版)

亚马逊云科技 (Amazon Web Services)

API re:Invent 生成式人工智能 Amazon Q Preview

海外云手机版-怎么从零开始进行TikTok营销?

Ogcloud

跨境电商 TikTok 外贸

微软发布 Visual Studio 扩展 NuGetSolver,简化 NuGet 依赖项冲突解决过程_微软_InfoQ精选文章