使用GitHub Action部署Azure SQL数据库遇.NET Framework 4.8依赖错误
解决GitHub Action构建Azure SQL项目时的MSB3644错误
问题原因
你的自托管Windows Runner未安装.NET Framework 4.8的开发包(Targeting Pack/Developer Pack),导致MSBuild在构建SQL项目时无法找到对应版本的引用程序集,触发错误代码MSB3644。
解决方案
方案1:手动在自托管Runner上安装开发包
- 登录你的自托管Windows Runner机器
- 下载并安装.NET Framework 4.8 Developer Pack(需选择开发包,而非单纯运行时)
- 安装完成后重启Runner服务,重新触发Workflow即可
方案2:在Workflow中自动安装开发包
如果需要自动化维护Runner环境,可在Workflow步骤中添加安装逻辑:
推荐:使用Chocolatey包管理器安装
在Setup .NET Core步骤后新增:
- name: 安装.NET Framework 4.8开发包 run: choco install dotnetfx-4.8-devpack -y
额外优化建议
- 确认
Project.Database.sqlproj项目的目标框架配置为.NET Framework 4.8,避免框架版本不匹配 - 构建SQL项目时,可显式指定目标框架参数,确保MSBuild正确识别:
- name: Build SQL Database project run: dotnet build "${{ env.SQL_WORKING_DIRECTORY }}/Project.Database.sqlproj" --configuration ${{ env.CONFIGURATION }} /p:VisualStudioVersion=17.3.2 /p:TargetFrameworkVersion=v4.8
内容的提问来源于stack exchange,提问作者Md Aslam
相关产品推荐
相关产品推荐

