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

如何在Mac M1上运行不被支持的.NET Core 2.0项目

解决Mac M1上运行.NET Core 2.0项目的方案

用Docker跑是最稳妥的选择

完全可以通过Docker隔离环境来运行,步骤如下:

  • 先装Docker Desktop,记得开启Rosetta转译(因为.NET Core 2.0没有原生ARM镜像)
  • 在项目根目录建个Dockerfile,内容如下:
# 采用x86架构的.NET Core 2.0 SDK镜像
FROM mcr.microsoft.com/dotnet/core/sdk:2.0-stretch AS build
WORKDIR /app

# 复制项目文件并还原依赖
COPY *.csproj ./
RUN dotnet restore

# 复制所有代码并构建发布
COPY . ./
RUN dotnet publish -c Release -o out

# 基于运行时镜像启动项目
FROM mcr.microsoft.com/dotnet/core/runtime:2.0-stretch AS runtime
WORKDIR /app
COPY --from=build /app/out ./
ENTRYPOINT ["dotnet", "你的项目文件名.dll"]
  • 把代码里的你的项目文件名.dll替换成你实际的项目输出DLL名称
  • 终端执行构建命令:docker build -t dotnet20-app .
  • 启动容器运行项目:docker run -it --rm dotnet20-app

本地通过Rosetta转译运行

如果不想用Docker,也可以借助Rosetta 2模拟x86环境:

  • 打开终端,输入arch -x86_64 zsh切换到x86终端环境
  • 下载.NET Core 2.0 SDK的x86版本(微软官方已下架,需找存档或第三方镜像获取)
  • 安装完成后,在这个x86终端里直接运行项目安装程序,或者用dotnet run启动项目

长期最优方案:升级项目.NET版本

如果项目允许修改,建议直接升级到.NET 6及以上版本——这些版本原生支持M1的ARM架构,无需额外折腾:

  • 修改.csproj文件里的TargetFramework节点,比如从netcoreapp2.0改为net6.0
  • 修复升级过程中出现的API兼容问题
  • 直接在VS2022中运行项目即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:45:41