You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Interactive Notebooks如何覆盖已加载的NuGet包版本

.NET Interactive Notebooks 切换已加载NuGet包版本的解决方案

核心原因

.NET Interactive 内核依托.NET运行时的程序集加载机制,同一进程会话中不允许加载同一程序集的多个版本,因此已加载某版本NuGet包后,无法在当前会话中直接卸载、覆盖替换为其他版本,这是底层运行时的固有特性,并非扩展功能缺失。

你遇到的报错是因为第一次不带版本号加载包时,内核默认拉取了最新稳定版3.11.0并加载进当前进程,后续请求其他版本时就会触发冲突。

可行操作步骤

  • 方法1:重启内核后直接加载目标版本

    1. 点击VSCode Notebook界面顶部工具栏的重启内核按钮(环形箭头图标),清空当前会话所有已加载的程序集
    2. 将目标版本的包加载命令放在首个代码单元直接运行,不要提前加载其他版本:
    #r "nuget: Microsoft.CodeAnalysis.Workspaces.MSBuild, 4.0.0-3.final"
    
  • 方法2:多版本测试场景拆分Notebook文件

    如果需要频繁在不同包版本下做测试,可以为每个版本创建独立的.ipynb文件,每个文件内仅加载对应版本的NuGet包,从根源避免版本冲突。
  • 避坑提示

    建议将所有NuGet依赖声明统一放在Notebook最开头的第一个代码单元中,所有包都显式标注需要的版本号,避免漏写版本默认拉取稳定版导致后续冲突。

内容的提问来源于stack exchange,提问作者farlee2121

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:27:02