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

M1芯片Mac首次构建解决方案遇NU1102错误求助

解决M1 Mac上.NET项目构建NU1102错误的办法

解决方案

1. 适配.NET7的ILCompiler包版本

该错误的核心是.NET 7.0.4对应的runtime.osx-arm64.Microsoft.DotNet.ILCompiler包不存在于NuGet源中。你可以调整项目依赖的Microsoft.DotNet.ILCompiler版本,使用.NET7生态中存在的稳定版本:

  • 打开项目的.csproj文件,找到Microsoft.DotNet.ILCompiler的引用项,将版本号改为7.0.0(或其他.NET7稳定版):
    <PackageReference Include="Microsoft.DotNet.ILCompiler" Version="7.0.0" />
    
  • 或者使用版本通配符自动匹配兼容版本:
    <PackageReference Include="Microsoft.DotNet.ILCompiler" Version="7.0.*" />
    

修改后重新构建项目,NuGet会自动拉取对应存在的runtime.osx-arm64版本包。

2. 禁用AOT编译(非必要场景)

如果你的项目不需要AOT(提前编译)特性,可以直接关闭相关配置来消除对该包的依赖:

  • 打开.csproj文件,查找并删除或注释以下配置:
    <PublishAot>true</PublishAot>
    
  • 同时检查是否有其他与AOT相关的PropertyGroup配置,一并移除后重新构建。

3. 使用.NET CLI构建.NET8预览版项目

虽然Visual Studio for Mac暂不支持.NET8预览版,但.NET CLI是独立于IDE的,可以直接用它来构建.NET8项目:

  1. 确认已安装.NET8预览版SDK:
    dotnet --list-sdks
    
  2. 修改项目的.csproj文件,将目标框架改为.NET8:
    <TargetFramework>net8.0</TargetFramework>
    
  3. 在项目根目录下执行CLI构建命令:
    dotnet build
    
    若需要指定SDK版本,可使用:
    dotnet build --framework net8.0 --sdk-version 8.0.100-preview.2.23157.25
    

4. 验证.NET7 SDK完整性

确保你的.NET7 SDK安装完整,缺少组件可能导致依赖解析异常:

  • 运行命令检查SDK和运行时状态:
    dotnet sdk check
    
  • 如果发现缺失或需要更新,重新下载安装官方的.NET7 SDK包,覆盖现有安装后再尝试构建。

内容的提问来源于stack exchange,提问作者Yahya Z

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:02:15