GitHub Action报错MSB1009:项目文件未找到求助
问题排查与修复
核心问题:相对路径错误
GitHub Actions执行actions/checkout@v2后,工作目录默认是仓库根目录。你使用的../../CS/WinForms.Client/WinForms.Client.csproj是向上回溯两级目录,这会超出仓库范围,导致MSBuild找不到项目文件。
修复方案
修改build和publish步骤的路径,使用正确的相对路径(从仓库根目录指向项目文件):
name: Deploy to Azure Linux App Service on: push: branches: - main jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up .NET Core uses: actions/setup-dotnet@v1 with: dotnet-version: '8.0.x' # Adjust according to your project needs. - name: Build project # 修正路径:从根目录直接指向CS文件夹下的项目 run: dotnet build ./CS/WinForms.Client/WinForms.Client.csproj --configuration Release - name: Publish project # 明确指定项目路径,避免默认查找当前目录项目的问题 run: dotnet publish ./CS/WinForms.Client/WinForms.Client.csproj -c Release -o publish_output - name: Azure Login uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} - name: Deploy to Azure Web App uses: azure/webapps-deploy@v2 with: app-name: DxMiddleCApp # Replace with your Azure Web App name slot-name: production package: ./publish_output
额外验证建议
可以在build步骤前添加查看目录结构的步骤,确认路径是否正确:
- name: Check directory structure run: ls -R
该步骤会输出仓库完整目录结构,你可以直观确认CS/WinForms.Client/WinForms.Client.csproj的存在位置。
内容的提问来源于stack exchange,提问作者Kirsten
相关产品推荐
相关产品推荐

