通过GitHub Actions部署.NET Core应用至AWS EBS时遭遇.runtimeconfig.json文件缺失错误
通过GitHub Actions部署.NET Core应用至AWS EBS时遭遇.runtimeconfig.json文件缺失错误
我之前部署.NET Core到EBS时也踩过一模一样的坑,这个错误的核心问题其实是你的部署包结构不符合EBS的要求——它需要把应用的所有文件(包括.runtimeconfig.json)直接放在包的根目录里,而不是嵌套在子文件夹中。
看了你的GitHub Actions配置,问题出在打包步骤:
zip -r publish.zip publish
这个命令会把publish整个文件夹打包进去,解压后所有文件都在publish/子目录下,EBS自然找不到根目录下的.runtimeconfig.json。
给你几个具体的解决步骤:
修正打包命令
改成进入publish目录后再打包,这样所有文件都会直接放在压缩包的根目录:run: cd publish && zip -r ../publish.zip .验证publish输出文件
可以在publish步骤后加一个查看文件的命令,确认.runtimeconfig.json确实生成了:- name: Check publish files run: ls -la publish执行后在GitHub Actions的日志里就能看到
publish目录下的所有文件,确保.runtimeconfig.json存在。检查项目配置
偶尔也会遇到项目文件意外排除了.runtimeconfig.json的情况,打开你的.csproj文件,检查有没有类似下面的配置,如果有就删掉相关排除规则:<ExcludeFilesFromDeployment>*.runtimeconfig.json</ExcludeFilesFromDeployment>
调整完打包命令后,重新触发GitHub Actions部署,应该就能解决这个问题了——EBS会在包的根目录找到它需要的.runtimeconfig.json文件,顺利完成部署。
备注:内容来源于stack exchange,提问作者Ziaullah
相关产品推荐
相关产品推荐

