diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index c67b543c..17e8c9df 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,10 +15,10 @@ ] }, "microsoft.visualstudio.slngen.tool": { - "version": "12.0.13", + "version": "12.0.32", "commands": [ "slngen" ] } } -} \ No newline at end of file +} diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 6935449f..f5751440 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,11 @@ # See https://github.com/devcontainers/images/tree/main/src/dotnet for image choices -FROM mcr.microsoft.com/vscode/devcontainers/dotnet:9.0 +FROM mcr.microsoft.com/devcontainers/dotnet:10.0 + +# Dev container images can lag behind the SDK version pinned by the repository. +COPY global.json /tmp/global.json +RUN curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh \ + && bash /tmp/dotnet-install.sh --jsonfile /tmp/global.json --install-dir /usr/share/dotnet --no-path \ + && rm /tmp/dotnet-install.sh /tmp/global.json # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 ARG NODE_VERSION="none" @@ -10,12 +16,7 @@ RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/ # && apt-get -y install --no-install-recommends RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ - && apt-get -y install --no-install-recommends ninja-build - -RUN apt-get update && apt-get install -y --no-install-recommends apt-transport-https dirmngr gnupg ca-certificates \ - && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ - && echo "deb https://download.mono-project.com/repo/debian stable-buster main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ - && apt-get update && apt-get -y --no-install-recommends install mono-complete + && apt-get -y install --no-install-recommends ninja-build mono-complete # [Optional] Uncomment this line to install global node packages. # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f616c78f..aeb9467a 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -4,10 +4,8 @@ "name": "C# (.NET)", "build": { "dockerfile": "Dockerfile", + "context": "..", "args": { - // Update 'VARIANT' to pick a .NET Core version: 3.1, 5.0, 6.0 - // Append -bullseye or -focal to pin to an OS version. - "VARIANT": "9.0", // Options "NODE_VERSION": "lts/*" } diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2049b492..80543cae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ env: jobs: # This workflow contains a single job called "Xaml-Style-Check" Xaml-Style-Check: - runs-on: windows-2025 + runs-on: windows-2025-large # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -85,7 +85,7 @@ jobs: # Test job to build the project template project-template: - runs-on: windows-2022 + runs-on: windows-2025-large env: HEADS_DIRECTORY: tooling/ProjectHeads PROJECT_DIRECTORY: tooling/ProjectTemplate @@ -116,10 +116,12 @@ jobs: if: ${{ env.ENABLE_DIAGNOSTICS == 'true' }} run: dotnet --info - - name: Copy props files to root + - name: Copy props and SDK configuration to root shell: pwsh working-directory: ./ - run: copy ./tooling/.github/workflows/config/* ./ + run: | + copy ./tooling/.github/workflows/config/* ./ + copy ./tooling/global.json ./ - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 @@ -135,7 +137,7 @@ jobs: # Test job to build a single experiment to ensure our changes work for both our main types of solutions at the moment new-experiment: - runs-on: windows-2022 + runs-on: windows-2025-large strategy: fail-fast: false # prevent one matrix pipeline from being cancelled if one fails, we want them all to run to completion. @@ -187,6 +189,7 @@ jobs: working-directory: ./ run: | copy ./tooling/.github/workflows/config/* ./ + copy ./tooling/global.json ./ mkdir ./.config copy ./tooling/.config/dotnet-tools.json ./.config/dotnet-tools.json mkdir ./components @@ -273,6 +276,7 @@ jobs: working-directory: ./ run: | copy ./tooling/.github/workflows/config/* ./ + copy ./tooling/global.json ./ mkdir ./.config copy ./tooling/.config/dotnet-tools.json ./.config/dotnet-tools.json mkdir ./components @@ -309,5 +313,3 @@ jobs: with: name: linux-logs path: ./**/*.*log - - diff --git a/ReadMe.md b/ReadMe.md index a8b0ee4f..06a1687a 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -8,7 +8,7 @@ This repository contains the tooling infrastructure for other Community Toolkit ## Build Requirements - Visual Studio 2026 (UWP & Desktop Workloads for .NET) -- .NET 9 SDK +- .NET 10 SDK (version specified in `global.json`) - Windows App SDK - Windows SDK 26100 diff --git a/ToolkitComponent.SampleProject.props b/ToolkitComponent.SampleProject.props index 43095c9c..9bc7df84 100644 --- a/ToolkitComponent.SampleProject.props +++ b/ToolkitComponent.SampleProject.props @@ -6,7 +6,7 @@ - + diff --git a/ToolkitComponent.SourceProject.props b/ToolkitComponent.SourceProject.props index d112280a..e190c493 100644 --- a/ToolkitComponent.SourceProject.props +++ b/ToolkitComponent.SourceProject.props @@ -18,7 +18,7 @@ $(PackageIdPrefix).$(PackageIdVariant).$(ToolkitComponentName) - + true diff --git a/global.json b/global.json index cfa58f62..5d4b9f49 100644 --- a/global.json +++ b/global.json @@ -1,10 +1,10 @@ { "sdk": { - "version": "9.0.310", + "version": "10.0.401", "rollForward": "latestFeature" }, "msbuild-sdks": { - "MSBuild.Sdk.Extras":"3.0.23" + "MSBuild.Sdk.Extras":"3.0.44" } }