ubuntu15.10 或者 16.04 或者 ElementryOS 下使用 Dotnet Core

这里我们不讲安装,缺少libicu52自行安装. 

安装完成后使用dotnet restore或者build都会失败,一是报编译的dll不适合当前系统,二是编译到ubuntu16.04文件夹下会产生一些问题。更麻烦的是会导致visual studio code无法安装.net core debug.

那么如何欺骗.net core让它认为我们现在是ubuntu 14.04环境呢?

1. 首先我们使用 dotnet --version

.NET Command Line Tools (1.0.0-beta-001793)

Product Information:
Version: 1.0.0-beta-001793
Commit Sha: 42a0eec967

Runtime Environment:
OS Name: ubuntu
OS Version: 14.04
OS Platform: Linux
Runtime Id: ubuntu.14.04-x64

2. 然后在 https://github.com/zlzforever/cli  项目中搜索: Runtime Id

 

3. 查找runtimeEnvironment是何方神圣,结果在cli项目中并找不到. 应试是依赖,对比几次的引用确定是在: Microsoft.Extensions.PlatformAbstractions 命名空间下

4. 猜想必然还是开源的项上,于是在github.com上全局搜索

5. 顺藤摸瓜找到最终代码

6. 修改ID和VERSION_ID

 

7. 好了,dotnet core以为你的环境是ubuntu 14.04啦

 

其它类型的Linux应试也可以使用此方欺骗dotnet core.

本来CLI在1598版本是可以使用--runtime ubuntu.14.04-x64指定RUN ID的,但是到了1793后不能使用这个参数了. 实际上修改os-release比使用--runtime更好, 比如解决visual studio code的编译dotnet core debug的问题

 

posted on   Lewis.Zou  阅读(855)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示