.NET7版Azure Functions项目本地运行失败的解决求助
Azure Functions .NET7 本地运行及项目创建问题
已将Visual Studio 2022更新至最新版本,并把Azure Functions项目升级到.NET7。本地运行时提示**“没有与项目指定版本匹配的Functions运行时”**,但项目部署到Azure上运行正常。此外,创建新Azure Functions项目时,看不到.NET7作为运行时选项。
提供的信息
项目csproj文件
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <AzureFunctionsVersion>v4</AzureFunctionsVersion> <OutputType>Exe</OutputType> </PropertyGroup> <ItemGroup> <None Remove="appsettings.Development.json" /> <None Remove="appsettings.json" /> <None Remove="appsettings.Production.json" /> <None Remove="appsettings.staging.json" /> </ItemGroup> <ItemGroup> <Content Include="appsettings.Development.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <ExcludeFromSingleFile>true</ExcludeFromSingleFile> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> <Content Include="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <ExcludeFromSingleFile>true</ExcludeFromSingleFile> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> <Content Include="appsettings.Production.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <ExcludeFromSingleFile>true</ExcludeFromSingleFile> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> <Content Include="appsettings.staging.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <ExcludeFromSingleFile>true</ExcludeFromSingleFile> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </Content> </ItemGroup> <ItemGroup> <PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.2.2" /> <PackageReference Include="Azure.Identity" Version="1.8.2" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Abstractions" Version="1.1.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.0.13" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.7.0" OutputItemType="Analyzer" /> <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.10.1" /> <PackageReference Include="Microsoft.Extensions.Azure" Version="1.6.0" /> </ItemGroup> <ItemGroup> <None Update="host.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Update="local.settings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None> </ItemGroup> </Project>
Visual Studio 2022 详细信息
Microsoft Visual Studio Community 2022 Version 17.5.1 VisualStudio.17.Release/17.5.1+33424.131 Microsoft .NET Framework Version 4.8.09032 Installed Version: Community ADL Tools Service Provider 1.0 This package contains services used by Data Lake tools ASA Service Provider 1.0 ASP.NET and Web Tools 17.5.317.37931 ASP.NET and Web Tools Azure App Service Tools v3.0.0 17.5.317.37931 Azure App Service Tools v3.0.0 Azure Data Lake Tools for Visual Studio 2.6.5000.0 Microsoft Azure Data Lake Tools for Visual Studio Azure Functions and Web Jobs Tools 17.5.317.37931 Azure Functions and Web Jobs Tools Azure Stream Analytics Tools for Visual Studio 2.6.5000.0 Microsoft Azure Stream Analytics Tools for Visual Studio C# Tools 4.5.0-6.23123.11+271ccd71554f7d28d2f90551aafd0bdeb5d327aa C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used. Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools. Microsoft Azure Hive Query Language Service 2.6.5000.0 Language service for Hive query Microsoft Azure Stream Analytics Language Service 2.6.5000.0 Language service for Azure Stream Analytics Microsoft Azure Tools for Visual Studio 2.9 Support for Azure Cloud Services projects Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines NuGet Package Manager 6.5.0 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/ Razor (ASP.NET Core) 17.5.2.2307502+8b3141d86b738daf2ca3ed9c15b12513071fc676 Provides languages services for ASP.NET Core Razor. SQL Server Data Tools 17.2.40118.0 Microsoft SQL Server Data Tools ToolWindowHostedEditor 1.0 Hosting json editor into a tool window TypeScript Tools 17.0.20105.2003 TypeScript Tools for Microsoft Visual Studio Visual Basic Tools 4.5.0-6.23123.11+271ccd71554f7d28d2f90551aafd0bdeb5d327aa Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used. Visual F# Tools 17.5.0-beta.23053.5+794b7c259d9646a7eb685dad865aa27da7940a21 Microsoft Visual F# Tools Visual Studio IntelliCode 2.2 AI-assisted development for Visual Studio.
相关截图
- 可用运行时选项:

- 程序 - .NET筛选:

解决办法
1. 安装匹配版本的Azure Functions Core Tools
本地运行.NET7的Azure Functions需要Azure Functions Core Tools v4.x最新版本:
- 打开命令提示符,执行命令:
npm install -g azure-functions-core-tools@4 --unsafe-perm true - 安装完成后重启Visual Studio,再尝试运行项目。
2. 更新Visual Studio的Azure Functions组件
- 打开Visual Studio,进入工具 > 获取工具和功能;
- 在安装程序中找到Azure开发工作负载,确认Azure Functions和Web作业工具已勾选,点击修改完成更新;
- 更新后重启Visual Studio。
3. 确认本地.NET7 SDK已安装
- 打开命令提示符,执行
dotnet --list-sdks查看已安装的SDK版本; - 若未找到.NET7版本,下载安装对应SDK后重启Visual Studio。
4. 配置host.json文件
你的项目采用.NET Isolated Worker模式(从csproj的<OutputType>Exe</OutputType>可判断),需在host.json中明确指定运行时:
{ "version": "2.0", "runtime": { "functionRuntime": "dotnet-isolated" } }
5. 清理重建项目
- 在Visual Studio中执行生成 > 清理解决方案;
- 接着执行生成 > 重建解决方案;
- 删除项目目录下的
bin和obj文件夹,重新运行项目。
内容的提问来源于stack exchange,提问作者frosty
相关产品推荐
相关产品推荐

