diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 000000000..0bf4a912c
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,16 @@
+{
+ "name": "WPF UI Docs Dev Container",
+ "image": "mcr.microsoft.com/dotnet/sdk:8.0",
+ "features": {
+ "ghcr.io/devcontainers/features/node:1": {
+ "version": "20"
+ }
+ },
+ "postCreateCommand": "./.devcontainer/post-create.sh",
+ "forwardPorts": [
+ 8080
+ ],
+ "remoteEnv": {
+ "NODE_ENV": "development"
+ }
+}
diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh
new file mode 100755
index 000000000..4be12f03e
--- /dev/null
+++ b/.devcontainer/post-create.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+apt-get update
+apt-get install -y openssh-client
+
+cd docs/templates
+npm ci
+npm run build
+dotnet tool install -g docfx
+
+export PATH="$PATH:/root/.dotnet/tools"
+
+cd ../
+docfx docfx.json --serve
diff --git a/.github/workflows/wpf-ui-cd-extension.yaml b/.github/workflows/wpf-ui-cd-extension.yaml
index 6e01ee14a..6bd56b3c9 100644
--- a/.github/workflows/wpf-ui-cd-extension.yaml
+++ b/.github/workflows/wpf-ui-cd-extension.yaml
@@ -24,9 +24,17 @@ jobs:
run: nuget restore Wpf.Ui.sln
- name: Build the solution
- run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="x64" -p:GITHUB_ACTIONS=True
+ run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="x64" -p:ProductArchitecture="amd64" -p:GITHUB_ACTIONS=True
+
+ - name: Build the solution
+ run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="arm64" -p:ProductArchitecture="arm64" -p:GITHUB_ACTIONS=True
- uses: actions/upload-artifact@v4
with:
- name: wpf-ui-vs22-extension
+ name: wpf-ui-vs22-extension-x64
path: src\Wpf.Ui.Extension\bin\x64\Release\Wpf.Ui.Extension.vsix
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: wpf-ui-vs22-extension-arm64
+ path: src\Wpf.Ui.Extension\bin\arm64\Release\Wpf.Ui.Extension.vsix
diff --git a/.github/workflows/wpf-ui-cd-nuget.yaml b/.github/workflows/wpf-ui-cd-nuget.yaml
index 4c19d45ea..a49cb274e 100644
--- a/.github/workflows/wpf-ui-cd-nuget.yaml
+++ b/.github/workflows/wpf-ui-cd-nuget.yaml
@@ -22,6 +22,13 @@ jobs:
with:
dotnet-version: 8.x
+ - name: Fetch the certificate
+ run: |
+ $signing_keys_payload = [System.Convert]::FromBase64String("${{ secrets.STRONG_NAME_KEY }}")
+ $currentDirectory = Get-Location
+ $certificatePath = Join-Path -Path $currentDirectory -ChildPath "src/lepo.snk"
+ [IO.File]::WriteAllBytes("$certificatePath", $signing_keys_payload)
+
- name: Install dependencies
run: dotnet restore
@@ -31,6 +38,9 @@ jobs:
- name: Build
run: dotnet build src\Wpf.Ui.Abstractions\Wpf.Ui.Abstractions.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true
+ - name: Build
+ run: dotnet build src\Wpf.Ui.DependencyInjection\Wpf.Ui.DependencyInjection.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true
+
- name: Build
run: dotnet build src\Wpf.Ui.Tray\Wpf.Ui.Tray.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true
@@ -39,3 +49,9 @@ jobs:
- name: Publish the symbols to NuGet.org
run: nuget push **\*.snupkg -NonInteractive -SkipDuplicate -Source 'https://api.nuget.org/v3/index.json'
+
+ - name: Upload NuGet packages as artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: nuget-packages
+ path: '**\*.nupkg'
diff --git a/.github/workflows/wpf-ui-lock.yml b/.github/workflows/wpf-ui-lock.yml
index e47736a27..3cd32bf28 100644
--- a/.github/workflows/wpf-ui-lock.yml
+++ b/.github/workflows/wpf-ui-lock.yml
@@ -2,7 +2,7 @@ name: wpf-ui-lock
on:
schedule:
- - cron: '0 * * * *'
+ - cron: '0 0 * * 0'
workflow_dispatch:
permissions:
diff --git a/.gitignore b/.gitignore
index e628c2e8c..30b97c438 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,9 +2,15 @@
## files generated by popular Visual Studio add-ons.
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+# Strong Name Key files
+src/lepo.snk
+
# DocFX
docs/api/
+# Desktop service store
+.DS_Store
+
# User-specific files
*.rsuser
*.suo
diff --git a/Directory.Build.props b/Directory.Build.props
index f41b3dcea..f3160f4fa 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -6,7 +6,8 @@
- 4.0.0-rc.1
+ 4.0.0-rc.2
+ 4.0.0
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 8a271aa74..0050b61cd 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -44,46 +44,11 @@
true
-
-
- $(IntermediateOutputPath)$(MSBuildProjectName).SkipLocalsInit.g.cs
-
-
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-[module: global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]]]>
-
+
+ true
+ $(RepositoryDirectory)\src\lepo.snk
-
-
-
-
-
-
-
-
-
-
-