使用Unchase OpenAPI Connected Service遇LiquidTemplate初始化异常求助
解决Unchase OpenAPI Connected Services扩展生成客户端时的LiquidTemplate初始化异常问题
我在VS 2022 Professional中使用Unchase OpenAPI (Swagger) Connected Services扩展为.NET Core API生成C#客户端类时,反复遇到以下错误:
The type initializer for 'LiquidTemplate' threw an exception.
已经尝试过以下操作,但均未解决问题:
- 卸载并重新安装该扩展
- 更新VS 2022
- 修复VS 2022
完整操作日志如下:
[06-06-2023 15:25:49.330] Warning:Failed loading the Unchase.OpenAPI.ConnectedService_Settings.xml user settings [06-06-2023 15:27:00.894] Adding Unchase OpenAPI (Swagger) Connected Service to the project. [06-06-2023 15:27:00.894] Adding service instance for "https://localhost:7212/api/swagger/v1/swagger.json"... [06-06-2023 15:27:00.899] Adding Nuget Packages for OpenAPI (Swagger) CSharp Client... [06-06-2023 15:27:00.907] Nuget Package "Newtonsoft.Json" for OpenAPI (Swagger) already installed. [06-06-2023 15:27:00.911] Nuget Package "System.Net.Http" for OpenAPI (Swagger) already installed. [06-06-2023 15:27:00.916] Nuget Package "System.ComponentModel.Annotations" for OpenAPI (Swagger) already installed. [06-06-2023 15:27:00.921] Nuget Packages for OpenAPI (Swagger) CSharp Client were installed. [06-06-2023 15:27:00.925] Generating NSwag-file for OpenAPI (Swagger)... [06-06-2023 15:27:03.358] NSwag-file "AMSClient.nswag" for OpenAPI (Swagger) was generated. [06-06-2023 15:27:03.361] Generating Client Proxy for OpenAPI (Swagger) Client... [06-06-2023 15:27:03.555] Warning:Error: The type initializer for 'LiquidTemplate' threw an exception.. [06-06-2023 15:27:03.567] Client Proxy for OpenAPI (Swagger) Client was generated. [06-06-2023 15:27:03.571] Adding service instance complete! [06-06-2023 15:27:03.682] Finished adding Unchase OpenAPI (Swagger) Connected Service to the project.
尽管系统提示连接服务添加完成,但客户端代码并未更新,寻求可行的解决方法或调试方向。
可能的解决方向
- 修复配置文件问题:日志开头显示加载
Unchase.OpenAPI.ConnectedService_Settings.xml失败,找到该文件(通常在%APPDATA%\Unchase\OpenAPI Connected Service目录),检查当前用户是否有读写权限,或者直接删除该文件让扩展重新生成配置。 - 清理扩展缓存:关闭VS,删除扩展缓存目录(路径一般为
%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_<随机标识>\Extensions\Unchase\OpenAPI Connected Service),重启VS后重试。 - 手动用NSwag CLI生成:既然已生成
AMSClient.nswag文件,绕开扩展直接用CLI生成:- 安装NSwag CLI:
dotnet tool install -g NSwag.ConsoleCore - 在项目目录执行:
nswag run AMSClient.nswag
- 安装NSwag CLI:
- 验证Swagger文档合规性:用Swagger Editor打开目标Swagger地址,检查文档是否符合OpenAPI规范,修复可能存在的格式错误或缺失字段。
- 更换扩展版本:尝试安装该扩展的旧版本,新版本可能存在兼容性问题,在VS扩展管理中查看版本历史并选择稳定旧版安装。
内容的提问来源于stack exchange,提问作者Nayak S
相关产品推荐
相关产品推荐

