Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
]
},
"microsoft.visualstudio.slngen.tool": {
"version": "12.0.13",
"version": "12.0.32",
"commands": [
"slngen"
]
}
}
}
}
15 changes: 8 additions & 7 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -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"
Expand All @@ -10,12 +16,7 @@ RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/
# && apt-get -y install --no-install-recommends <your-package-list-here>

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 <your-package-here>" 2>&1
4 changes: 1 addition & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -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/*"

@Avid29 Avid29 Sep 12, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this changing the runner to auto update the SDK version?

If so that's probably for the best, but we're certain this won't cause any issues, such as introducing new warnings which will be treated as errors? (I forget if we're using treat warnings as errors, I've been gone a bit and very busy).

Upon second thought, I'm being pedantic. It's the runner. Even if an issue like that arises we'll just either update suppresions or update the code.

}
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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.
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -309,5 +313,3 @@ jobs:
with:
name: linux-logs
path: ./**/*.*log


2 changes: 1 addition & 1 deletion ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion ToolkitComponent.SampleProject.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<!-- Set up the MultiTarget system -->
<Import Project="$(ToolingDirectory)\MultiTarget\Library.props" />

<Sdk Condition="'$(IsUwp)' == 'true' AND '$(MultiTargetPlatformIdentifier)' != 'windows'" Name="MSBuild.Sdk.Extras" Version="3.0.23" />
<Sdk Condition="'$(IsUwp)' == 'true' AND '$(MultiTargetPlatformIdentifier)' != 'windows'" Name="MSBuild.Sdk.Extras" Version="3.0.44" />

<!-- Import this component's source project -->
<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion ToolkitComponent.SourceProject.props
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<PackageId Condition="'$(PackageId)' == ''">$(PackageIdPrefix).$(PackageIdVariant).$(ToolkitComponentName)</PackageId>
</PropertyGroup>

<Sdk Condition="'$(IsUwp)' == 'true' AND '$(MultiTargetPlatformIdentifier)' != 'windows'" Name="MSBuild.Sdk.Extras" Version="3.0.23" />
<Sdk Condition="'$(IsUwp)' == 'true' AND '$(MultiTargetPlatformIdentifier)' != 'windows'" Name="MSBuild.Sdk.Extras" Version="3.0.44" />

<PropertyGroup>
<IsAotCompatible Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">true</IsAotCompatible>
Expand Down
4 changes: 2 additions & 2 deletions global.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
Loading