Azure Function Core Tools 4.0.5198创建的隔离函数运行报错求助
解决方案:.NET Isolated Azure Function 启动时找不到作业函数
针对你遇到的"No job functions found"错误,可尝试以下几种排查和解决步骤:
检查函数类与方法的访问权限
确保你的HttpExample类以及Run方法都是public修饰的。.NET Isolated模式要求函数类和入口方法必须公开才能被运行时发现。示例正确代码结构:public class HttpExample { [Function("HttpExample")] public static async Task<HttpResponseData> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req, FunctionContext executionContext) { // 函数逻辑 } }验证Program.cs的配置
确认项目根目录的Program.cs中调用了ConfigureFunctionsWorkerDefaults()方法,该方法会注册核心触发器的必要扩展。正确的Program.cs代码如下:using Microsoft.Extensions.Hosting; var host = new HostBuilder() .ConfigureFunctionsWorkerDefaults() .Build(); host.Run();如果缺少这个配置,运行时无法识别HTTP触发器。
检查项目文件(.csproj)的包引用
打开项目的.csproj文件,确保包含以下必要的NuGet包引用(版本可根据实际情况更新):<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <AzureFunctionsVersion>v4</AzureFunctionsVersion> <OutputType>Exe</OutputType> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.14.1" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.10.0" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.0.13" /> </ItemGroup> <ItemGroup> <None Update="host.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Update="local.settings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None> </ItemGroup> </Project>若缺少
Microsoft.Azure.Functions.Worker.Extensions.Http包,HTTP触发器无法被识别。清理缓存并重新构建
执行以下命令清理构建缓存并重新编译项目,避免缓存导致的异常:dotnet clean dotnet build func start更新Azure Function Core Tools版本
你当前使用的Core Tools版本(4.0.5198)可能存在与.NET 7 Isolated模式的兼容性问题,尝试更新到最新版本:npm install -g azure-functions-core-tools@4
内容的提问来源于stack exchange,提问作者Dan Van
相关产品推荐
相关产品推荐

