VS 2022重建报错:NSwag openapi2csclient进程退出代码-1
解决NSwag.ApiDescription.Client重建时退出代码-1的问题
以下是针对该错误的排查与解决步骤:
核对NSwag版本一致性
你安装的NuGet包版本是13.19.0,但命令中调用的是13.0.5版本的NSwag.exe,版本不匹配是常见诱因。操作步骤:- 右键项目→管理NuGet程序包,卸载
NSwag.ApiDescription.Client - 手动删除项目目录下
packages_rep中的旧NSwag版本文件夹 - 重新安装13.19.0版本的NuGet包,确保调用的
NSwag.exe版本与包版本一致
- 右键项目→管理NuGet程序包,卸载
验证swagger.json文件完整性
打开x\swagger.json,检查是否存在JSON语法错误(如引号未闭合、逗号缺失),可借助VS自带的JSON编辑器的语法校验功能。同时确认Web项目能正常启动,swagger接口文档可正常访问加载,避免因源文件损坏导致生成失败。检查路径权限与正确性
确保x\swagger.json输入路径和obj\swaggerClient.cs输出路径对应的目录有读写权限,可尝试以管理员身份启动Visual Studio后再执行重建。另外核对路径是否正确,注意相对路径是基于项目根目录的定位。手动执行命令排查详细错误
直接在命令行中执行对应版本的NSwag命令(替换为正确的本地路径):"x\packages_rep\nswag.msbuild\13.19.0\tools\Win\NSwag.exe" openapi2csclient /className:ServiceClient /namespace:MyService /input:x\swagger.json /output:obj\swaggerClient.cs控制台会输出具体的错误原因,比如文件不存在、参数格式错误等,便于精准定位问题。
清理项目缓存后重建
右键项目选择「清理」,手动删除项目的obj和bin目录,然后重新生成解决方案,避免旧缓存文件干扰生成流程。
内容的提问来源于stack exchange,提问作者M_Idrees
相关产品推荐
相关产品推荐

