GitHub Action与.NET Framework 4

flvtvl50  于 2023-10-21  发布在  .NET
关注(0)|答案(2)|浏览(151)

是否可以创建一个GitHub Action来构建一个基于.NET 4的旧应用程序?
我创建了这样的管道:

name: EZRep Build

on:
  push:
    branches: master

jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    
    - name: Setup MSBuild
      uses: microsoft/setup-msbuild@v1

    - uses: nuget/setup-nuget@v1
      with:
        nuget-api-key: ${{ secrets.NuGetAPIKey }}
        nuget-version: '5.x'
      
    - name: Navigate to Workspace
      run: cd $GITHUB_WORKSPACE

    - name: Create Build Directory
      run: mkdir _build

    - name: Restore Packages
      run: nuget restore MazeBallWeb/MazeBall.sln

    - name: Build Solution
      run: |
        msbuild.exe MazeBallWeb/MazeBall.sln /nologo /nr:false /p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:platform="Any CPU" /p:configuration="Release" /p:PublishUrl="../_build"

但最后一步失败,并出现错误:
错误MSB 3644:**未找到.NETFramework版本=v4.6.1的参考程序集。**若要解决此问题,请安装此框架版本的开发人员包(SDK/目标包)或重新定位应用程序。您可以在https://aka.ms/msbuild/developerpack..下载.NET Framework Developer Packs。
可以在Windows runner上配置.NET 4 SDK吗?我需要旧的.NET 4,而不是.NET Core。

wf82jlnq

wf82jlnq1#

一个持久的解决方案是使用https://github.com/actions/setup-dotnet,它应该可以在所有windows runner上工作。

zpgglvta

zpgglvta2#

windows-latest不支持.NET Framework 4.5.2之前的版本。你可以使用windows-2019,它可以追溯到.NET Framework 4.0。
在这里,您可以看到安装的确切软件包:windows-2019windows-2022(搜索Microsoft.Net.Component

相关问题