diff --git a/.azure-pipelines/build.yml b/.azure-pipelines/build.yml index b49b8ff57..2156d6505 100644 --- a/.azure-pipelines/build.yml +++ b/.azure-pipelines/build.yml @@ -10,19 +10,24 @@ variables: solution: '**/*.sln' buildPlatform: 'Any CPU' buildConfiguration: 'Release' + runtimeVersion: 'net8.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: 8.x + +- 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..ff896e9ac 100644 --- a/Celeste.Mod.mm/Celeste.Mod.mm.csproj +++ b/Celeste.Mod.mm/Celeste.Mod.mm.csproj @@ -1,7 +1,7 @@ - net7.0 + net8.0 Celeste.Mod.mm Celeste true @@ -33,17 +33,17 @@ - + - + - - - + + + diff --git a/Celeste.Mod.mm/Mod/Everest/Everest.cs b/Celeste.Mod.mm/Mod/Everest/Everest.cs index 1ab099230..887938aa3 100644 --- a/Celeste.Mod.mm/Mod/Everest/Everest.cs +++ b/Celeste.Mod.mm/Mod/Everest/Everest.cs @@ -313,6 +313,7 @@ internal static void Boot() { Logger.Info("core", $"AppDomain: {AppDomain.CurrentDomain.FriendlyName ?? "???"}"); Logger.Info("core", $"VersionCelesteString: {VersionCelesteString}"); Logger.Info("core", $"SystemMemoryMB: {SystemMemoryMB:F3} MB"); + Logger.Info("core", $"RuntimeVersion: {Environment.Version}"); if (Type.GetType("Mono.Runtime") != null) { // Mono hates HTTPS. diff --git a/DiscordGameSDK/DiscordGameSDK.csproj b/DiscordGameSDK/DiscordGameSDK.csproj index acd9bede2..af87f8622 100755 --- a/DiscordGameSDK/DiscordGameSDK.csproj +++ b/DiscordGameSDK/DiscordGameSDK.csproj @@ -1,6 +1,6 @@  - net7.0 + net8.0 DiscordGameSDK Discord 9 diff --git a/EverestSplash/EverestSplash.csproj b/EverestSplash/EverestSplash.csproj index 777cdab0f..78d7462cb 100644 --- a/EverestSplash/EverestSplash.csproj +++ b/EverestSplash/EverestSplash.csproj @@ -2,7 +2,7 @@ WinExe - net7.0 + net8.0 enable true false diff --git a/MiniInstaller/MiniInstaller.csproj b/MiniInstaller/MiniInstaller.csproj index 8079102da..ed81a7c9a 100644 --- a/MiniInstaller/MiniInstaller.csproj +++ b/MiniInstaller/MiniInstaller.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 MiniInstaller MiniInstaller true diff --git a/NETCoreifier/NETCoreifier.csproj b/NETCoreifier/NETCoreifier.csproj index 9973b6b10..b1bec9ab8 100644 --- a/NETCoreifier/NETCoreifier.csproj +++ b/NETCoreifier/NETCoreifier.csproj @@ -1,14 +1,14 @@ - net7.0 + net8.0 NETCoreifier NETCoreifier 11 - + diff --git a/README.md b/README.md index f625d83f0..dbc3edeba 100644 --- a/README.md +++ b/README.md @@ -23,13 +23,13 @@ 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 8.0.0 or higher of .NET SDK for the build process. ### Windows - Open the .sln in the repo with Visual Studio - Publish all projects - **NOTE:** It is very important that you *publish* the project instead of simply building it, as otherwise required dependency DLLs won't be copied! -- Copy everything in `MiniInstaller\bin\Release\net7.0\publish` and `Celeste.Mod.mm\bin\Release\net7.0\publish` to your Celeste directory, replacing existing files +- Copy everything in `MiniInstaller\bin\Release\net8.0\publish` and `Celeste.Mod.mm\bin\Release\net8.0\publish` to your Celeste directory, replacing existing files - Run MiniInstaller-win64.exe on 64-bit or MiniInstaller-win.exe on 32-bit ### macOS / Linux @@ -38,7 +38,7 @@ For information about mod development, check out the [Everest Wiki](https://gith - _With MonoDevelop:_ Open the .sln in the repo with MonoDevelop - _Manually:_ Open the terminal in the Everest directory and run `msbuild` or `dotnet publish` - **NOTE:** It is very important that you *publish* the project instead of simply building it, as otherwise required dependency DLLs won't be copied! -- Copy everything in `MiniInstaller/bin/Release/net7.0/publish` and `Celeste.Mod.mm/bin/Release/net7.0/publish` to your Celeste directory +- Copy everything in `MiniInstaller/bin/Release/net8.0/publish` and `Celeste.Mod.mm/bin/Release/net8.0/publish` to your Celeste directory - macOS: `Celeste.app/Contents/Resources` - Run `./MiniInstaller-linux` or `./MiniInstaller-osx` diff --git a/external/MonoMod b/external/MonoMod index 47cbea2ce..30eae98bd 160000 --- a/external/MonoMod +++ b/external/MonoMod @@ -1 +1 @@ -Subproject commit 47cbea2cee3ff7785d31599e8f9f0fbe38b5fecc +Subproject commit 30eae98bd518aa617e75207e734a9231c6ac2026 diff --git a/global.json b/global.json new file mode 100644 index 000000000..005a2f6c4 --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "msbuild-sdks": { + "Microsoft.Net.Sdk.IL": "8.0.0" + } +} \ No newline at end of file diff --git a/lib-ext/piton-runtime.yaml b/lib-ext/piton-runtime.yaml index 29baaf50d..1a04a4b8a 100644 --- a/lib-ext/piton-runtime.yaml +++ b/lib-ext/piton-runtime.yaml @@ -1,23 +1,24 @@ +# Latest LTS as of July 8th 2024 windows-x86: - version: 7.0.12 - download: https://download.visualstudio.microsoft.com/download/pr/e6be672b-53a9-4050-9b55-53f74a55523c/b59ab5af9be85681cf415865a159624f/dotnet-runtime-7.0.12-win-x86.zip - download-sha512: 760f4483b9848c2165be30ad4623de4099529fdcbf61c4e6c1738dfe22e3d776ca7ced89e4d7485dc0337c988b1c3bf1c5757a01e97d156df4ad0cf848226244 + version: 8.0.6 + download: https://download.visualstudio.microsoft.com/download/pr/53f7cef2-50bf-419d-bf36-69f2989729b6/31261cddb6f9517e76cc4ee71d67be8b/dotnet-runtime-8.0.6-win-x86.zip + download-sha512: 4801ea1f67811ee368d78e03447cf972ba71e4d02818d5ed019ce99a241498eb4d242ceb520744141d6c3047bacb80c64be5b0f9a64f339087bce76e83a0b444 download-format: zip - + windows-x86_64: - version: 7.0.12 - download: https://download.visualstudio.microsoft.com/download/pr/6d97a102-c4f3-4183-91d7-d810e96e73a1/272349ea2adf0145d9364e2c12bd23a4/dotnet-runtime-7.0.12-win-x64.zip - download-sha512: fada96dfe5c0ff99799032b21323b0c75764df8c7991e67c0f2757a0f4d9946c68dee07831a0bda7e884713749150121d618973d14bdcc915d389799b36848bb + version: 8.0.6 + download: https://download.visualstudio.microsoft.com/download/pr/3c5bbae6-d848-46b0-bb65-c4f7a7ad4b2a/afba8a75f7e7f4f304362de0f1d4b3ea/dotnet-runtime-8.0.6-win-x64.zip + download-sha512: 2c0407df76878fe518105e132e5435f7f3ac42415fecf099e1a056ef4c068ed9d4e3bcfb5fe49b6c138cfe8b77db609bc6af28be5f11b5beca9eea7c1092ee51 download-format: zip linux-x86_64: - version: 7.0.12 - download: https://download.visualstudio.microsoft.com/download/pr/47a663ab-0c5f-4502-9ea1-93c27df8f9ed/5ee65ca13eb40220631dab82a27972d8/dotnet-runtime-7.0.12-linux-x64.tar.gz - download-sha512: 74bea25e88bd917a733a6899a3b3c9ac40c85a64f82dc0f36840714669621716afbb8fec6c3c398b1ffb522c0ed11958862cff5a4be0bf6268188cdb276bc109 + version: 8.0.6 + download: https://download.visualstudio.microsoft.com/download/pr/021c3de8-14d5-493f-92dc-2c8f8be76961/6ee3407acebf74631bfc01f14301afa6/dotnet-runtime-8.0.6-linux-x64.tar.gz + download-sha512: c0c5e93d4e68e2075c4c63336dc74246efb704ac9663411351efdefc4cc7da5a7750f44b8a23aebe959bb4308575bead443a41b2524ae03b29ac41929d27e0e0 download-format: targz macos-x86_64: - version: 7.0.12 - download: https://download.visualstudio.microsoft.com/download/pr/5a3eed2a-4c5f-4c05-9ef5-4b59de889a9e/4a577fd9e4b278dfebc16d901691b90f/dotnet-runtime-7.0.12-osx-x64.tar.gz - download-sha512: 3cfa807b64eb345ff104f33d7120d7d973443d40aedfe5fb49c0b67adb69f743c18a6e762a8463f59ee29b4a291970e8af48f97f841a94ed220809b56258b0e0 + version: 8.0.6 + download: https://download.visualstudio.microsoft.com/download/pr/20271d05-67e0-4356-87a9-0ce5102b5007/b7c91c6470e1c2ffbb493a35dd6883c0/dotnet-runtime-8.0.6-osx-x64.tar.gz + download-sha512: 44c0ad9fc613975fa0c12b12b91ff8cd8ba0be5e8ed59510e7a5ab22e55267a468b321ce34515daf070ffc8d557c09d7ea3ed3c3407887f706553b5d378e3232 download-format: targz \ No newline at end of file