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

无法将Analyzer和Code Fix扩展上传至NuGet及VS Gallery的问题咨询

你的Analyzer上传问题解答

1. 扩展类型选择是否正确?

完全不正确。Analyzer和Code Fix(也就是Roslyn分析器)是针对桌面版Visual Studio的代码分析工具,和Visual Studio Code的插件体系完全不搭。你应该选择的是「Visual Studio Extension」类型(对应Visual Studio Marketplace的Visual Studio扩展分类),而不是VS Code的类型——这就是你上传失败的核心原因。

2. 存在的操作失误

  • 最关键的错误就是选错了扩展分类:VS Code扩展基于Node.js/TypeScript生态,和你的.NET系Roslyn分析器完全不兼容,自然会报错。
  • 额外提一句:Roslyn分析器的主流发布渠道其实是NuGet,而不是Visual Studio Gallery(现在已经整合到Visual Studio Marketplace),因为开发者通常是通过NuGet把分析器安装到具体项目中,而非直接安装到IDE。

3. 如何将Analyzer上传到NuGet?

这是Roslyn分析器的标准发布流程,步骤很明确:

第一步:打包你的分析器项目

首先确保你的Analyzer项目的.csproj文件配置了正确的NuGet打包属性,示例如下:

<PropertyGroup>
  <PackageId>你的唯一包ID(比如MyCompany.CodeAnalysis.Analyzers)</PackageId>
  <Version>1.0.0</Version>
  <Authors>你的名字/团队名</Authors>
  <Description>这里写你的分析器能解决什么问题,比如"检测代码中的空引用风险"</Description>
  <PackageTags>Roslyn, Analyzer, CodeFix, C#</PackageTags>
  <!-- 确保分析器文件被正确打包进NuGet -->
  <IncludeBuildOutput>true</IncludeBuildOutput>
  <PackAsTool>false</PackAsTool>
  <PackageOutputPath>../nupkgs</PackageOutputPath> <!-- 打包文件输出路径 -->
</PropertyGroup>

然后执行打包命令:

dotnet pack --configuration Release

或者在Visual Studio里右键分析器项目,选择「打包」,生成的.nupkg文件会出现在你指定的输出路径里。

第二步:上传到NuGet

  1. 登录NuGet官方网站,用你的账号登录(没有的话注册一个免费账号即可)。
  2. 点击页面上的「Upload」按钮,选择你刚生成的.nupkg文件。
  3. 核对包的元数据(包ID、版本、描述等),确认无误后提交。
  4. 等待NuGet的自动审核(一般几分钟就能通过,只要你的包符合规范),审核通过后,其他开发者就能通过NuGet包管理器安装你的分析器了。

如果你确实想把分析器做成桌面版VS的扩展(让用户安装到IDE后自动应用到所有项目),那需要额外创建一个VSIX项目,把分析器项目作为依赖打包进VSIX,再选择Visual Studio Extension类型上传到Marketplace,但这种方式不如NuGet发布常用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:17:33