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

本地VS项目文件损坏,从Kudu下载wwwroot缺失.cs/.cshtml文件求助

恢复损坏的Visual Studio项目解决方案

为什么wwwroot里没有.cs和.cshtml文件

ASP.NET(Core)项目部署到Azure App Service时,默认采用编译部署:源文件(.cs、.cshtml)会被编译成.dll等二进制文件,wwwroot目录仅存放编译后的运行时文件,所以看不到源码文件,这是正常现象,不影响网站运行。

恢复项目的可行方法

  • 从部署源拉取源码
    如果你之前通过Git、GitHub、Azure DevOps等版本控制平台部署到Azure,直接克隆对应仓库即可获取完整源码。若通过Visual Studio直接发布(未关联版本控制),可登录Azure Portal进入目标App Service → 部署中心,查看部署记录里的来源信息,确认是否有可获取源码的渠道。
  • 检查本地版本控制残留文件
    查看本地损坏项目文件夹,是否存在.git隐藏文件夹(若使用Git)或其他版本控制工具的相关文件。如果有,可通过Git命令恢复历史版本:
    git log # 查看提交历史
    git checkout <commit-id> # 恢复到指定提交版本
    
  • 反编译二进制文件获取近似源码
    若没有其他源码渠道,可通过反编译工具从Azure的.dll文件还原代码:
    • 用Kudu下载wwwroot下的bin文件夹,里面包含编译后的.dll文件
    • 使用ILSpy、dnSpy等反编译工具,打开对应.dll文件(如项目主程序集、Views.dll),导出反编译后的.cs和.cshtml代码
    • 注意:反编译代码可能丢失注释、变量名被简化,部分语法与原代码有差异,需手动调整修复
  • 检查Azure快照备份
    若你的App Service开启了应用快照功能,可在Azure Portal的App Service → 备份 → 快照中查看是否有包含部署文件的快照,但快照仅含编译后的运行文件,无法直接获取源码,仅能用于恢复网站运行环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 23:51:07