服务器是 aws m8g.2xlarge 8 核 32GB 内存
整个服务器上就一个 Docker ,里面运行这个服务
以前 .NET 5 的都是秒编译
现在经常要半个小时,有时甚至五六个小时编译不完
有时候又能 2 秒编译,不知道为什么
docker system prune -a 运行了好几遍,没效果

开 Debug 是因为刚才想试试是不是 Release 导致的编译缓慢才改的,并不是导致问题的原因

可以试试给 dotnet build 加几个参数:-clp:PerformanceSummary -tl:false
这样能看到编译时间到底花在了具体哪个任务上

这很显然需要一个日志来看看时间都花费在哪里了。
build 的时候加个参数吧
dotnet build -bl:SpecificStep.binlog

如果是编译为镜像,那么原因可能是 net8 不支持仿真编译了,你需要更改编译的命令,让其使用交叉编译。这个问题之前遇到过。

加上了,但是似乎没有输出别的东西

好奇怪的问题,似乎同一套代码,刚才测试 1 楼的参数 3 分钟就编译完了,现在测试 2 楼的参数又编译了 10 分钟还没出来,每次编译时间完全随机

或许是 linux 下编译器的问题呢?而不是项目代码

估计是 dotnet restore 下载资源网速不稳定

改善网络
外面发布文件,再基于发布文件+runtime 打包,避免编译

加上加个 no restore ,不联网检查 nuget 包, 看看是不是网络问题

说两个微软给我的印象:
1 、大学时第一次接触 Visual Studio ,进去之后字体默认是宋体,编程字体用非等宽,写出来那个代码看着非常膈应!(当然可以调整,但非要让每一个人一上来都调整一遍?这不就做事做不到位,招人恶心嘛)。第一次印象就很差,任你网上再吹什么宇宙第一 IDE ,内心还是抗拒。
2 、dotnet7 出来的时候,试了一下,Mac 电脑上命令行 init 一个项目,要好几秒。我心想,就建几个空目录,要好几秒?印象又一次很差!直接从 init 到放弃!任你网上吹什么不考虑工作生存压力,心中理想代码什么写 C#, 什么 dotnet 别提多爽云云。。。我内心还是抗拒,完全不信!

换一台 linux 编译,排查下

买个墙外服务器编译,就是下载网络问题,不用看

哥们,你到底是干嘛的,高强度刷 V 站发帖,各方面问题都涉及,业务这么广的吗

跑个 benchmark 吧。有时候是服务器的问题。

墙内下载依赖包的确是会有网络问题

哈哈

现在.net 还能开发 linux 的应用了?

14 年就支持了吧,.NET 早就改名 .NET Core 了

现在是真正意义的跨平台和架构(包括龙芯之类) 😁

是不是加 arm 了 如果你加 arm 和 arm64 之类的确实是这样的,我用 github action 编译 x86 非常快,但是一旦启用 arm64 就慢成屎, 甚至会超时

.net core 已经入土,现在就叫.net

微软改名部