You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac下Visual Studio 2022运行.NET 8 Isolated Azure Functions失败求助

Mac下运行.NET 8 Isolated模式Azure Functions项目报错「无法执行path.functionname.exe」

从Windows开发环境切换到Mac后,搭建并本地运行.NET 8 Isolated模式的Azure Functions项目时,出现「无法执行path.functionname.exe」错误。已尝试更新并还原所有NuGet包、清理bin目录、调整SDK版本设置,但问题仍未解决。

项目配置

触发器代码

using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
using System;

namespace SchedulesFunction.Triggers
{
    public class SchedulesTrigger
    {
        [Function("SchedulesTrigger")]
        public void Run([TimerTrigger("0 */5 * * * *")] TimerInfo myTimer, ILogger log)
        {
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
        }
    }
}

.csproj配置

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
    <OutputType>Exe</OutputType>
  </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.21.0" />
        <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Timer" Version="4.3.0" />
        <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.17.2" />
        <PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.22.0" />
        <PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.2.0" />
    </ItemGroup>
    <ItemGroup>
    </ItemGroup>
    <ItemGroup>
      <None Remove="Configuration\" />
    </ItemGroup>
    <ItemGroup>
      <None Include="local.settings.json">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        <CopyToPublishDirectory>Never</CopyToPublishDirectory>
      </None>
    </ItemGroup>
    <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
    <ItemGroup>
      <Folder Include="Configuration\" />
    </ItemGroup>
    <ItemGroup>
      <Using Include="System.Threading.ExecutionContext" Alias="ExecutionContext" />
    </ItemGroup>
</Project>

Program.cs代码

using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults()
    .ConfigureServices(services =>
    {
        services.AddApplicationInsightsTelemetryWorkerService();
        services.ConfigureFunctionsApplicationInsights();
    })
    .Build();

host.Run();

local.settings.json配置

{
  "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
    }
 }

已尝试的解决步骤

  • 检查Azurite是否安装:ps aux | grep azurite
  • 安装/更新Azurite:npm install -g azurite
  • 运行Azurite:azurite --silent
  • 获取最新版Azure Functions Core Tools:
    brew tap azure/functions
    brew install azure-functions-core-tools@4
    
  • 更新Visual Studio:
    • 打开Visual Studio→新建项目→检查云项目是否可用
      • 若不可用:打开任意项目→顶部菜单栏Visual Studio→检查更新→更新所有包(云项目应变为可用)
      • 若可用:选择云→Azure Functions→查看可用Runtime(本机仅显示.NET Core 3.1)→运行→检查模板更新→重启应用(之后显示最高为.NET 7.0 Isolated)

最终放弃使用Visual Studio,转而使用Visual Studio Code,配置launch.json如下:

{
"version": "0.2.0",
"configurations": [
    {
        "name": "Attach to .NET Functions",
        "type": "coreclr",
        "request": "attach",
        "processId": "${command:azureFunctions.pickProcess}"
    }
]
}

内容的提问来源于stack exchange,提问作者A P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:42:50