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

在树莓派3 Model B上部署.Net Core 2.0框架依赖应用遇阻求助

解决Raspbian Stretch上.NET Core框架依赖模式运行问题

嘿,我之前在树莓派的ARM环境折腾.NET Core的时候也碰到过类似的问题,给你几个一步步排查的方案,应该能解决:

1. 先检查项目的框架版本配置

你的应用编译时可能指定了依赖Microsoft.NETCore.App 2.0.0,但你装的是2.0.5运行时——虽然小版本理论上兼容,但ARM环境有时候需要明确对齐版本。

  • 打开项目的.csproj文件,确认<TargetFramework>是netcoreapp2.0
  • 加上<RuntimeFrameworkVersion>节点,指定成你安装的2.0.5,比如:
<PropertyGroup>
  <TargetFramework>netcoreapp2.0</TargetFramework>
  <RuntimeFrameworkVersion>2.0.5</RuntimeFrameworkVersion>
</PropertyGroup>

然后重新发布框架依赖包:dotnet publish -c Release -f netcoreapp2.0

2. 验证运行时是否正确安装注册

在树莓派终端跑这个命令,看看运行时列表里有没有2.0.5:

dotnet --list-runtimes

正常应该显示Microsoft.NETCore.App 2.0.5 [xxx]的条目。如果没看到,说明安装没成功,建议重新下载ARM32架构的2.0.5运行时安装包,从头再来一遍安装步骤。

3. 手动设置环境变量(ARM环境常见坑)

有时候树莓派的环境变量没配置对,导致.NET Core找不到运行时路径。你可以临时设置试试:

export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:$DOTNET_ROOT

设置完再运行你的应用:dotnet YourApp.dll

4. 检查Microsoft.CSharp.dll的权限

你说能看到这个文件,但框架依赖模式下可能是权限不够导致加载失败。跑这个命令看权限:

ls -l /usr/share/dotnet/shared/Microsoft.NETCore.App/2.0.5/Microsoft.CSharp.dll

如果当前用户没有读取权限,执行:

sudo chmod +r /usr/share/dotnet/shared/Microsoft.NETCore.App/2.0.5/Microsoft.CSharp.dll

5. 确认你装的是对应ARM架构的运行时

树莓派是ARM32架构,千万别下成x86或x64版本的运行时了——这是新手常犯的错,重新下载时一定要选arm架构的安装包。

最后补充

其实.NET Core 2.0是支持树莓派的框架依赖模式的,官方文档没明确提可能是因为早期版本有坑,但2.0.5已经修复了大部分问题。如果以上步骤都没用,试试清理项目的bin和obj目录,重新编译发布,或者彻底卸载当前运行后再重装一次。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:37:02