已安装.NET Core 2.2,Azure Functions项目列表未显示.NET Core类型怎么办?
解决防火墙环境下Azure Functions模板缺失(.NET Core版本)的问题
你的问题核心是Visual Studio因防火墙限制,无法自动获取到基于.NET Core的Azure Functions正式版模板。下面是几个离线环境下可行的解决方案,都是我实际遇到类似问题时验证过的:
一、先确认Visual Studio的Azure开发组件是否完整
打开Visual Studio安装程序,选择「修改」,找到Azure开发工作负载,务必确保「Azure Functions和Web作业工具」已勾选,且是稳定版本。如果这部分组件没装全,哪怕你有.NET Core环境,对应的模板也不会显示出来。
二、手动离线安装Azure Functions模板包
因为网络受限没法自动更新,我们可以通过dotnet new工具离线部署模板:
- 找一台能联网的机器,打开命令提示符,运行以下命令安装对应.NET Core 2.2的Azure Functions v2正式版模板包(版本号可根据需要调整为稳定版):
dotnet new --install Microsoft.Azure.WebJobs.ItemTemplates::2.2.0 - 找到模板安装目录:
- Windows系统:
%USERPROFILE%\.templateengine\packages - Linux/macOS系统:
~/.templateengine/packages
- Windows系统:
- 将这个
packages文件夹完整复制到你受限网络机器的对应路径下,覆盖原有文件(如有)。 - 在你的机器上打开命令提示符,运行
dotnet new --list,确认列表中已出现基于.NET Core的Azure Functions模板。
三、清理Visual Studio模板缓存,让新模板生效
有时候模板装好了VS却没识别,需要手动清理缓存:
- 完全关闭Visual Studio
- 删除以下路径的缓存文件:
%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache%USERPROFILE%\AppData\Roaming\Microsoft\VisualStudio\<你的VS版本号>\Templates\ItemTemplates%USERPROFILE%\AppData\Roaming\Microsoft\VisualStudio\<你的VS版本号>\Templates\ProjectTemplates
- 重新打开Visual Studio,再去创建Azure Functions项目,就能看到基于.NET Core的正式版选项了。
四、最后确认.NET Core 2.2环境配置
打开命令提示符运行dotnet --version,确保显示的是2.2.x的稳定版本;同时在VS的「工具->选项->项目和解决方案->.NET Core」里,确认已安装的SDK列表包含.NET Core 2.2,这样模板才能正确关联到你的环境。
内容的提问来源于stack exchange,提问作者Romesh
相关产品推荐
相关产品推荐

