是否可以创建一个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。
2条答案
按热度按时间wf82jlnq1#
一个持久的解决方案是使用https://github.com/actions/setup-dotnet,它应该可以在所有windows runner上工作。
zpgglvta2#
windows-latest
不支持.NET Framework 4.5.2之前的版本。你可以使用windows-2019
,它可以追溯到.NET Framework 4.0。在这里,您可以看到安装的确切软件包:windows-2019和windows-2022(搜索
Microsoft.Net.Component
)