Blazor WASM部署Github Pages设置.gitattributes仍被Git修改换行符如何解决
Blazor静态文件Git换行符修改导致完整性校验失败解决方案
- 优先执行Git缓存清理
修改.gitattributes后,旧的已缓存文件不会自动应用新规则,这是规则不生效的最常见原因。先提交/备份所有未提交的本地改动后,依次执行以下命令:git rm --cached -r .git reset --hard HEAD
执行完成后再重新提交文件,新的二进制识别规则会生效。 - 显式指定Blazor相关静态资源的二进制规则
全局* binary规则可能被Git内置的文件类型识别逻辑覆盖,可在.gitattributes文件中单独添加优先级更高的指定规则:
针对出问题的dotnet.5.0.3.js单独指定规则,优先级高于全局通配符。dotnet.*.js binary *.wasm binary *.blat binary *.dat binary - 关闭项目级Git换行符自动转换
检查本地Git全局配置是否开启了自动换行符转换,可在项目根目录执行命令关闭当前项目的自动转换,避免覆盖.gitattributes规则:git config core.autocrlf false - 避开本地构建提交流程
改用GitHub Actions直接在云端构建后部署到gh-pages分支,云端构建环境统一,不会出现本地Windows/macOS环境的换行符转换问题,从根源上避免文件被篡改。 - 发布前置校验
本地提交前,对比发布包中dotnet.5.0.3.js的sha256值与blazor.boot.json中记录的校验值,确认一致后再提交,避免被Git修改过的文件上传到仓库。
内容的提问来源于stack exchange,提问作者TDuff
相关产品推荐
相关产品推荐

