【一款支持Ollama本地部署的Visual Studio 2022 编程助手插件的编译和生成之路】解决打包安装问题
【文章摘要】本文记录了作者在Visual Studio 2022上部署Ollama本地编程助手插件时遇到的三个主要问题及解决方案:1)"Visual Studio扩展开发"组件安装后仍需手动添加引用;2)NuGet包版本冲突(17.14.40270→17.14.40265);3)弃用包替换(OllamaSharp替代Microsoft.Extensions.AI.Ollama)
【一款支持Ollama本地部署的Visual Studio 2022 编程助手插件的编译和生成之路】解决打包安装问题
前言:
真的是,又通宵了。都40岁的人了,这样熬夜真的不好。哎,又是天亮了给大家写一篇避坑小短文。希望别人可以因为这个文章少一点熬夜咯。希望帮到你。
我的痛点:
由于最近出了很多很强的大模型(例如GLM-4.7-flash)。现在非常的喜欢用本地的显卡来运行这些大模型(显存大于48G)。这样可以避免申请各种API和充值。由于原来的项目是用Visual Studio 2017以及Visual Studio 2022 开发的。现在想对这个旧的项目进行升级。那么就想在Visual Studio 2022 上面运行一个支持本地Ollama大语言服务器的编程助手。结果找了一圈最好用的可能是通义推出的TONGYI Lingma 2022这个产品。但是这款产品只支持API调用,而且是2022款,最不符合我的是不支持本地的ollama模型调用。也考虑了“Cody for Visual Studio”,可是这款产品需要先登录它的官网,又需要注册一顿,每次进入可能还需要登录。查了一下,无法使用VS Code提供的各种开源扩展,于是找了很多个开源的项目。在Github中选中了其中一个,感觉比较新的OllamaCodeAssistant,地址是:https://github.com/shogunxam/OllamaCodeAssistant。然后下载了源码想进行本地编译。(因为这个项目没有在市场上面发布,所以只能在本地编译。) 下载了之后。也对 Visual Studio 2022进行了各种升级和包的调整。中间发生了一些坑爹的事情,所以现在写下来,防止后人栽跟斗。
需要通过Visual Studio Installer 安装一个组件
组件名为:Visual Studio 扩展开发
根据AI助手给出的安装办法:打开 Visual Studio Installer;选择已安装的 VS 2022,点击「修改」;在「工作负载」标签页中,勾选 “其他工具集” 下的 “Visual Studio 扩展开发”;点击右下角「修改」,等待安装完成后重启 VS。
坑1:
疑问:
“我已经安装了“Visual Studio 扩展开发相关的程序集”了,并且重启了windows系统了,可是打开项目文件,还是表示错误:
using Microsoft.VisualStudio.Language.Intellisense;
using Microsoft.VisualStudio.Language.StandardClassification;
using Microsoft.VisualStudio.Text;
using Microsoft.VisualStudio.Text.Adornments;
是不是还需要我添加引用?
AI助手回答:
你已经安装了 VS 扩展开发工作负载,仍报命名空间错误,核心原因是这些命名空间对应的程序集未被项目显式引用——VS 不会自动为项目关联这些扩展开发专属的程序集,必须手动在项目中添加引用,这是解决问题的关键步骤。
结果相信了AI助手(哪个名字我就不点名了),兜了一大圈,浪费多轮对话和时间,无果。(结论:其实根本不是添加引用就可以解决的,请往下阅读)
坑2:
using Microsoft.VisualStudio.Language.Intellisense; 这个编译错误可以用VS 2022自带的错误解决,提示我要下载一些**包,名字太长,忘了,反正你也不需要知道。
疑问:
点击下载,接受条款,等待下载几秒钟,结果没反应。重启VS,无果。重启系统,无果。点击输出,发现回滚了。可能是安装遇到问题。
输出如下:
正在还原 D:\boxsc_repo\OllamaCodeAssistant2026\OllamaCodeAssistant\OllamaCodeAssistant.csproj 的包...
GET https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.sdk/index.json
OK https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.sdk/index.json 476 毫秒
NU1102: 找不到版本为 (>= 17.14.40270) 的包 Microsoft.VisualStudio.SDK
- 在 nuget.org 中找到 37 个版本[ 最接近版本: 17.14.40265 ]
- 在 Microsoft Visual Studio Offline Packages 中找到 0 个版本
CACHE https://api.nuget.org/v3/vulnerabilities/index.json
CACHE https://api.nuget.org/v3/vulnerabilities/vulnerability.base.json
CACHE https://api.nuget.org/v3/vulnerabilities/vulnerability.update.json
程序包还原失败。正在回滚“OllamaCodeAssistant”的程序包更改。
已用时间: 00:00:00.5707597
把输出又丢给AI助手,呵呵呵,希望它能懂我。
AI助手回答:
她还是有两手的,发现了问题的核心:
一、核心错误根源
NU1102 错误的本质是项目依赖的包版本与 NuGet 源中实际存在的版本不匹配
然后它告诉我,要么@#¥要么¥#@
我的现象图片:

我把版本号下拉,看到需要的版本号:17.14.40270 —> 17.14.40265
选择了17.14.40265,点击“更新”(虽然是往下更新,但也是“更新”这个按钮)
之后成功切换到265版本咯~~开心。
坑3:也不是严格意义上的坑,还好。
对于上图,你可以看到有2个感叹号。表示有2个包已经非常落后过时。果断点击更新升级。然后看到“Microsoft.Extensions.AI.Ollama”这个包已经弃用。找到新包“OllamaSharp”,安装。删除了旧的“Microsoft.Extensions.AI.Ollama”这个包之后。重启一下VS 2022.(稳!)
还要修改一下代码:
找到:LLMInteractionManager.cs这个文件。添加代码:“using OllamaSharp;”以及修改48行代码把“OllamaChatClient”换成“OllamaApiClient”即可。
保存编译整个项目即可。
结束战斗(花费3-4小时,前面1小时安装了CodeGeeX)
结果发现CodeGeeX的版本太老了,没有Agent功能,只能对话。玩了一下就弃用了。
也安装了几个,都不太满意。才决心折腾一下。
告诉AI助手:编译通过,完成。
用她的回答来做个总结吧:
太棒”了!🎉 项目成功编译通过,意味着之前的VS SDK 版本冲突、NuGet 包弃用、命名空间缺失等问题都已彻底解决,核心依赖和代码适配全部到位了。
核心解决成果回顾
替换了不可用的Microsoft.VisualStudio.SDK 17.14.40270,安装了 NuGet 公网稳定版17.14.40265,解决了 VS 扩展开发核心依赖的包还原与引用问题;
识别并处理了弃用的Microsoft.Extensions.AI.Ollama包,明确了替代方案OllamaSharp,同时确认了Microsoft.Extensions.AI所属的核心抽象包Microsoft.Extensions.AI.Abstractions;
补全了Microsoft.VisualStudio.Language.Intellisense等 VS 扩展开发必备命名空间的程序集引用,结合 VS 扩展开发工作负载,实现了编译无报错。
后续开发小建议
功能调试:先验证 VS 扩展的基础能力(如智能提示、文本解析),再集成OllamaSharp实现 AI 交互,分步调试更高效;
包版本锁定:保持Microsoft.VisualStudio.SDK、Microsoft.Extensions.AI.Abstractions等核心包的版本固定,避免自动升级导致再次出现版本冲突;
Ollama 集成:使用之前提供的OllamaSharp基础示例,先完成「本地 Ollama 服务连接」「基础模型调用」,再扩展到项目的 AI 核心逻辑。
谢谢你的阅读,希望对你有帮助。希望能有一个你的点赞,谢谢~~~!
更多推荐



所有评论(0)