Azure部署失败:dotnet publish提示项目文件不存在求助
问题解决:.NET 7升级后GitHub Action中dotnet publish失败
错误原因
DOTNET_ROOT环境变量指向的路径C:\Program Files\dotnet包含空格,在PowerShell中执行dotnet publish时,未对带空格的路径加引号,导致命令被拆分为:
dotnet publish -c Release -o C:\Program Files\dotnet/myapp
PowerShell会将C:\Program识别为-o的参数,而Files\dotnet/myapp被当成了要发布的项目文件路径,这就触发了MSB1009: Project file does not exist错误。
修复方案
方案1:给带空格的路径添加引号
修改GitHub Action中的dotnet publish步骤,将输出目录路径用双引号包裹:
- name: dotnet publish run: dotnet publish -c Release -o "${{env.DOTNET_ROOT}}/myapp"
方案2:使用无空格的输出目录(更推荐)
改用GitHub Actions提供的工作区变量${{github.workspace}},这个路径没有空格,避免此类问题:
- name: dotnet publish run: dotnet publish -c Release -o ${{github.workspace}}/myapp - name: Upload artifact for deployment job uses: actions/upload-artifact@v2 with: name: .net-app path: ${{github.workspace}}/myapp
额外检查
确认dotnet build步骤执行成功,这能验证项目文件存在且格式正确,排除项目本身的问题。
内容的提问来源于stack exchange,提问作者Adam LeVasseur
相关产品推荐
相关产品推荐

