VS Code开发Azure Functions提示netstandard 2.0未引用报错如何解决
解决VS Code开发C# Azure Functions时CS0012误报问题
该报错属于VS Code C#语言服务(OmniSharp/C# Dev Kit)的静态检查误报,你已经可以正常跳转定义、部署运行,说明项目依赖本身没有问题,只是本地编辑器的检查逻辑异常,可按以下步骤排查解决:
- 第一步:修正项目文件配置
打开项目根目录下的.csproj文件,确认基础配置匹配你使用的Azure Functions版本:
如果仍有报错,在<PropertyGroup> <!-- v4版本对应net6.0/net7.0,v3版本对应netcoreapp3.1 --> <TargetFramework>net6.0</TargetFramework> <AzureFunctionsVersion>v4</AzureFunctionsVersion> </PropertyGroup><ItemGroup>节点下手动添加netstandard库引用:<PackageReference Include="NETStandard.Library" Version="2.0.3" /> - 第二步:清理本地缓存
关闭VS Code后删除项目根目录下的bin、obj、.vscode文件夹,重新打开VS Code等待C#扩展加载完成后,按Ctrl+Shift+B执行一次项目生成操作即可。 - 第三步:调整C#扩展配置
若使用旧版OmniSharp C#扩展,打开VS Code设置搜索omnisharp.useGlobalMono,将值改为never;若使用新版C# Dev Kit,按Ctrl+Shift+P执行重启语言服务器命令即可。 - 第四步:匹配本地SDK版本
以上操作都无效时,在项目根目录新增global.json文件,指定和Azure Functions Core Tools匹配的本地SDK版本:{ "sdk": { "version": "6.0.417" // 替换为本地执行dotnet --list-sdks输出的可用版本即可 } }
内容的提问来源于stack exchange,提问作者joon
相关产品推荐
相关产品推荐

