diff --git a/.azure-pipelines/build.yml b/.azure-pipelines/build.yml index b49b8ff57..49128f0c2 100644 --- a/.azure-pipelines/build.yml +++ b/.azure-pipelines/build.yml @@ -10,19 +10,24 @@ variables: solution: '**/*.sln' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + runtimeVersion: 'net7.0' # Must match TargetFramework in the csprojs VANILLA_CACHE: $(Pipeline.Workspace)/vanilla name: '$(Build.BuildId)+$(Build.BuildIdOffset)' steps: -# Pre-build steps. -- task: NuGetToolInstaller@1 + # Pre-build steps. -- task: NuGetCommand@2 +- task: UseDotNet@2 + displayName: 'Set up .NET' + inputs: # packageType defaults to sdk + version: 9.0.102 # net9.0 required by MonoMod + +- task: DotNetCoreCLI@2 displayName: 'Restore NuGet packages' - retryCountOnTaskFailure: 2 inputs: - restoreSolution: '$(solution)' + command: 'restore' + projects: '$(solution)' - task: PowerShell@2 displayName: 'Run .azure-pipelines/prebuild.ps1' @@ -37,14 +42,14 @@ steps: publishWebProjects: false zipAfterPublish: false projects: '*/*.csproj' - arguments: '--configuration $(buildConfiguration) "/p:Configuration=$(buildConfiguration)"' + arguments: '--configuration $(buildConfiguration) "/p:Configuration=$(buildConfiguration)" --no-restore' # Create and "publish" main artifact. - task: CopyFiles@2 displayName: 'Pack main artifact: NETCoreifier' continueOnError: true inputs: - sourceFolder: '$(Build.SourcesDirectory)/NETCoreifier/bin/Release/net7.0/publish' + sourceFolder: '$(Build.SourcesDirectory)/NETCoreifier/bin/Release/$(runtimeVersion)/publish' contents: '**' targetFolder: '$(Build.ArtifactStagingDirectory)/main/' cleanTargetFolder: true @@ -54,7 +59,7 @@ steps: displayName: 'Pack main artifact: Celeste.Mod.mm' continueOnError: true inputs: - sourceFolder: '$(Build.SourcesDirectory)/Celeste.Mod.mm/bin/Release/net7.0/publish' + sourceFolder: '$(Build.SourcesDirectory)/Celeste.Mod.mm/bin/Release/$(runtimeVersion)/publish' contents: '**' targetFolder: '$(Build.ArtifactStagingDirectory)/main/' cleanTargetFolder: false @@ -64,7 +69,7 @@ steps: displayName: 'Pack main artifact: MiniInstaller' continueOnError: true inputs: - sourceFolder: '$(Build.SourcesDirectory)/MiniInstaller/bin/Release/net7.0/publish' + sourceFolder: '$(Build.SourcesDirectory)/MiniInstaller/bin/Release/$(runtimeVersion)/publish' contents: '**' targetFolder: '$(Build.ArtifactStagingDirectory)/main/' cleanTargetFolder: false diff --git a/Celeste.Mod.mm/Celeste.Mod.mm.csproj b/Celeste.Mod.mm/Celeste.Mod.mm.csproj index d276820c9..cd72f0e3e 100644 --- a/Celeste.Mod.mm/Celeste.Mod.mm.csproj +++ b/Celeste.Mod.mm/Celeste.Mod.mm.csproj @@ -33,7 +33,7 @@ - + @@ -41,9 +41,9 @@ - - - + + + diff --git a/NETCoreifier/NETCoreifier.csproj b/NETCoreifier/NETCoreifier.csproj index 9973b6b10..c3c07c1cc 100644 --- a/NETCoreifier/NETCoreifier.csproj +++ b/NETCoreifier/NETCoreifier.csproj @@ -8,7 +8,7 @@ - + diff --git a/README.md b/README.md index f625d83f0..47b43b6f8 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ For information about mod development, check out the [Everest Wiki](https://gith - macOS: Right-click and browse the Celeste app in Finder, then navigate to `Contents`, then `MacOS`. - Clone the Everest repo **+ submodules**, either in your IDE or via the CLI. - Restore Nuget packages either via your IDE or the command line. -- Everest requires version 7.0.200 or higher of .NET SDK, as well as the .NET 6.0 runtime, for the build process. +- Everest requires version 9.0.0 or higher of .NET SDK, as well as the .NET 8.0 runtime, for the build process. ### Windows - Open the .sln in the repo with Visual Studio diff --git a/external/MonoMod b/external/MonoMod index 47cbea2ce..be053cf08 160000 --- a/external/MonoMod +++ b/external/MonoMod @@ -1 +1 @@ -Subproject commit 47cbea2cee3ff7785d31599e8f9f0fbe38b5fecc +Subproject commit be053cf084f320a0cd5b516288e1e332b855471d diff --git a/global.json b/global.json new file mode 100644 index 000000000..6583494cb --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "msbuild-sdks": { + "Microsoft.Net.Sdk.IL": "7.0.0" + } +} \ No newline at end of file