是否可以创建 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"
但是最后一步失败并出现错误:
错误 MSB3644:未找到 .NETFramework,版本 = v4.6.1 的参考程序集。要解决此问题,请安装此框架版本的开发人员包(SDK/目标包)或重新定位您的应用程序。您可以在 https://aka.ms/msbuild/developerpack...
下载 .NET Framework 开发人员包是否可以在Windows运行器上配置.NET 4 SDK?我需要旧的 .NET 4,而不是 .NET Core。
持久的解决方案是使用 https://github.com/actions/setup-dotnet,它应该适用于所有 Windows 运行程序。
windows-latest
不支持任何早于 .NET Framework 4.5.2 的版本。您可以使用 windows-2019
来代替,它可以追溯到 .NET Framework 4.0。
在这里您可以看到已安装的确切软件包:windows-2019和windows-2022(搜索
Microsoft.Net.Component
)