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

MacOS(Apple M1 Pro)构建GRPC项目时MSBUILD无法解析工具链

解决Apple M1 Pro上.NET GRPC项目构建时找不到protoc的问题

执行dotnet build时出现以下错误:

mr@bogobox GrpcLab % dotnet build
MSBuild version 17.9.8+b34f75857 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
/Users/mr/.nuget/packages/grpc.tools/2.62.0/build/_protobuf/Google.Protobuf.Tools.targets(291,5): error MSB6004: The specified task executable location "/Users/mr/.nuget/packages/grpc.tools/2.62.0/tools/macosx_aarch64/protoc" is invalid. [/Users/mr/temp/dotnetlab/grpclab/GrpcLab/GrpcGreeter/GrpcGreeter.csproj]

Build FAILED.

针对Apple M1 Pro(arm64架构)上的这个问题,可尝试以下解决步骤:

  • 升级Grpc.Tools到最新稳定版本
    旧版本的Grpc.Tools对Apple Silicon架构的支持可能存在路径识别问题,直接更新到最新版大概率能解决。可以通过命令行更新:

    dotnet add package Grpc.Tools --version <最新稳定版本号>
    

    或者手动修改项目的.csproj文件,将<PackageReference Include="Grpc.Tools" Version="2.62.0" />中的版本号替换为最新值,之后执行dotnet restore。

  • 强制指定构建的运行时架构
    让MSBuild明确使用arm64架构构建,执行构建命令时添加运行时参数:

    dotnet build -r osx-arm64
    

    也可以在项目的.csproj文件中添加全局配置,避免每次构建都加参数:

    <PropertyGroup>
      <RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
    </PropertyGroup>
    
  • 清理NuGet缓存并重新还原依赖
    可能是NuGet缓存中的Grpc.Tools包损坏,执行以下命令清理缓存后重新还原:

    dotnet nuget locals all --clear
    dotnet restore
    
  • 手动指定protoc和插件路径
    检查Grpc.Tools的工具目录,正常情况下Apple Silicon对应的文件夹应该是macosx_arm64而非错误中的macosx_aarch64。如果目录中存在macosx_arm64,可以在.csproj中手动指定工具路径:

    <PropertyGroup>
      <ProtocToolPath>/Users/mr/.nuget/packages/grpc.tools/<你的版本号>/tools/macosx_arm64/protoc</ProtocToolPath>
      <GrpcCsharpPluginToolPath>/Users/mr/.nuget/packages/grpc.tools/<你的版本号>/tools/macosx_arm64/grpc_csharp_plugin</GrpcCsharpPluginToolPath>
    </PropertyGroup>
    
  • 检查.NET SDK版本
    确保使用的.NET SDK是支持Apple Silicon的版本(.NET 6及以上版本原生支持),执行dotnet --version查看版本,若版本过低,升级到最新稳定版。

内容的提问来源于stack exchange,提问作者Lord of the Goo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:05:10