[Dev][Build] .NET 9 Upgrade (#35716)
Some checks are pending
Spell checking / Spell checking (push) Waiting to run
Spell checking / Report (Push) (push) Blocked by required conditions
Spell checking / Report (PR) (push) Blocked by required conditions
Spell checking / Update PR (push) Waiting to run

* [Deps] Upgrade Framework Libraries to .NET 9 RC2

* [Common][Build] Update TFM to NET9

* [FileLocksmith][Build] Update TFM to NET9 in Publish Profile

* [PreviewPane][Build] Update TFM to NET9 in Publish Profile

* [PTRun][Build] Update TFM to NET9 in Publish Profile

* [Settings][Build] Update TFM to NET9 in Publish Profile

* [MouseWithoutBorders][Analyzers] Resolve WFO1000 by configuring Designer Serialization Visibility

* [Deps] Update Microsoft.CodeAnalysis.NetAnalyzers

* [Analyzers] Set CA1859,CA2263,CA2022 to be excluded from error

* [MouseWithoutBorders] Use System.Threading.Lock to lock instead of object instance

* [ColorPicker] Use System.Threading.Lock to lock instead of object instance

* [AdvancedPaste] Use System.Threading.Lock to lock instead of object instance

* [TextExtractor] Use System.Threading.Lock to lock instead of object instance

* [Hosts] Use System.Threading.Lock to lock instead of object instance

* [MouseJump] Use System.Threading.Lock to lock instead of object instance

* [PTRun] Use System.Threading.Lock to lock instead of object instance

* [Wox] Use System.Threading.Lock to lock instead of object instance

* [Peek] Use System.Threading.Lock to lock instead of object instance

* [PowerAccent] Use System.Threading.Lock to lock instead of object instance

* [Settings] Use System.Threading.Lock to lock instead of object instance

* [Deps] Update NOTICE.md

* [CI] Update .NET version step to target 9.0

* [Build] Attempt to add manual trigger for using Visual Studio Preview for building

* [Build] Fix variable typo

* [Build][Temporary] set to use preview builds

* [Build] Add missing parameters

* [Build][Temporary] directly hardcode preview image

* [Build][Temporary] Trying ImageOverride

* [Build] Revert hardcode and use ImageOverride

* [Build] Add env var for adding prerelease argument for vswhere

* [Build] Update VCToolsVersion script to use env var to optionally add prerelease version checking

* [Build] Remove unneeded parameter

* [Build] Re-add parameter in all the right places

* [CI][Build] Add NoWarn NU5104 when building with VS Preview

* [Deps] Update to stable .NET 9 packages

* [Deps] Update NOTICE.md

* Everything is WPF and WindowsForms now to fix .NET 9 dependency conflicts

* Ensure .NET 9 SDK for tests too

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
This commit is contained in:
Jeremy Sinclair 2024-11-13 12:36:45 -05:00 committed by GitHub
parent 0a1fd8b134
commit 00ee6c1510
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
64 changed files with 185 additions and 105 deletions

View File

@ -37,6 +37,10 @@ parameters:
type: boolean type: boolean
displayName: "Run Tests" displayName: "Run Tests"
default: true default: true
- name: useVSPreview
type: boolean
displayName: "Build Using Visual Studio Preview"
default: false
extends: extends:
template: templates/pipeline-ci-build.yml template: templates/pipeline-ci-build.yml
@ -44,3 +48,4 @@ extends:
buildPlatforms: ${{ parameters.buildPlatforms }} buildPlatforms: ${{ parameters.buildPlatforms }}
enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }} enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }}
runTests: ${{ parameters.runTests }} runTests: ${{ parameters.runTests }}
useVSPreview: ${{ parameters.useVSPreview }}

View File

@ -33,6 +33,11 @@ parameters:
- x64 - x64
- arm64 - arm64
- name: useVSPreview
type: boolean
displayName: "Build Using Visual Studio Preview"
default: false
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr) name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
extends: extends:
@ -42,7 +47,10 @@ extends:
- 1ES.PT.ViaStartRight - 1ES.PT.ViaStartRight
pool: pool:
name: SHINE-INT-S name: SHINE-INT-S
image: SHINE-VS17-Latest ${{ if eq(parameters.useVSPreview, true) }}:
demands: ImageOverride -equals SHINE-VS17-Preview
${{ else }}:
image: SHINE-VS17-Latest
os: windows os: windows
sdl: sdl:
tsa: tsa:
@ -58,7 +66,10 @@ extends:
parameters: parameters:
pool: pool:
name: SHINE-INT-L name: SHINE-INT-L
image: SHINE-VS17-Latest ${{ if eq(parameters.useVSPreview, true) }}:
demands: ImageOverride -equals SHINE-VS17-Preview
${{ else }}:
image: SHINE-VS17-Latest
os: windows os: windows
variables: variables:
IsPipeline: 1 # The installer uses this to detect whether it should pick up localizations IsPipeline: 1 # The installer uses this to detect whether it should pick up localizations

View File

@ -50,7 +50,9 @@ parameters:
- name: runTests - name: runTests
type: boolean type: boolean
default: true default: true
- name: useVSPreview
type: boolean
default: false
- name: versionNumber - name: versionNumber
type: string type: string
default: '0.0.1' default: '0.0.1'
@ -135,7 +137,7 @@ jobs:
- template: steps-ensure-dotnet-version.yml - template: steps-ensure-dotnet-version.yml
parameters: parameters:
sdk: true sdk: true
version: '8.0' version: '9.0'
- ${{ if eq(parameters.runTests, true) }}: - ${{ if eq(parameters.runTests, true) }}:
- task: VisualStudioTestPlatformInstaller@1 - task: VisualStudioTestPlatformInstaller@1
@ -181,6 +183,9 @@ jobs:
- pwsh: |- - pwsh: |-
& "$(build.sourcesdirectory)\.pipelines\verifyAndSetLatestVCToolsVersion.ps1" & "$(build.sourcesdirectory)\.pipelines\verifyAndSetLatestVCToolsVersion.ps1"
displayName: Work around DD-1541167 (VCToolsVersion) displayName: Work around DD-1541167 (VCToolsVersion)
${{ if eq(parameters.useVSPreview, true) }}:
env:
VCWhereExtraVersionTarget: '-prerelease'
- pwsh: |- - pwsh: |-
& "$(build.sourcesdirectory)\.pipelines\installWiX.ps1" & "$(build.sourcesdirectory)\.pipelines\installWiX.ps1"
@ -228,7 +233,10 @@ jobs:
inputs: inputs:
solution: '**\HostsUILib.csproj' solution: '**\HostsUILib.csproj'
vsVersion: 17.0 vsVersion: 17.0
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-hosts.binlog ${{ if eq(parameters.useVSPreview, true) }}:
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-hosts.binlog /p:NoWarn=NU5104
${{ else }}:
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-hosts.binlog
configuration: $(BuildConfiguration) configuration: $(BuildConfiguration)
msbuildArchitecture: x64 msbuildArchitecture: x64
maximumCpuCount: true maximumCpuCount: true
@ -241,7 +249,10 @@ jobs:
inputs: inputs:
solution: '**\EnvironmentVariablesUILib.csproj' solution: '**\EnvironmentVariablesUILib.csproj'
vsVersion: 17.0 vsVersion: 17.0
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-env-var-editor.binlog ${{ if eq(parameters.useVSPreview, true) }}:
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-env-var-editor.binlog /p:NoWarn=NU5104
${{ else }}:
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-env-var-editor.binlog
configuration: $(BuildConfiguration) configuration: $(BuildConfiguration)
msbuildArchitecture: x64 msbuildArchitecture: x64
maximumCpuCount: true maximumCpuCount: true
@ -254,7 +265,10 @@ jobs:
inputs: inputs:
solution: '**\RegistryPreviewUILib.csproj' solution: '**\RegistryPreviewUILib.csproj'
vsVersion: 17.0 vsVersion: 17.0
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-registry-preview.binlog ${{ if eq(parameters.useVSPreview, true) }}:
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-registry-preview.binlog /p:NoWarn=NU5104
${{ else }}:
msbuildArgs: /p:CIBuild=true;NoBuild=true -t:pack /bl:$(LogOutputDirectory)\build-registry-preview.binlog
configuration: $(BuildConfiguration) configuration: $(BuildConfiguration)
msbuildArchitecture: x64 msbuildArchitecture: x64
maximumCpuCount: true maximumCpuCount: true

View File

@ -45,7 +45,7 @@ jobs:
- template: steps-ensure-dotnet-version.yml - template: steps-ensure-dotnet-version.yml
parameters: parameters:
sdk: true sdk: true
version: '8.0' version: '9.0'
- task: VisualStudioTestPlatformInstaller@1 - task: VisualStudioTestPlatformInstaller@1
displayName: Ensure VSTest Platform displayName: Ensure VSTest Platform

View File

@ -19,6 +19,9 @@ parameters:
- name: runTests - name: runTests
type: boolean type: boolean
default: true default: true
- name: useVSPreview
type: boolean
default: false
stages: stages:
# Allow manual builds to skip pre-check # Allow manual builds to skip pre-check
@ -43,12 +46,15 @@ stages:
name: SHINE-INT-L name: SHINE-INT-L
${{ else }}: ${{ else }}:
name: SHINE-OSS-L name: SHINE-OSS-L
${{ if eq(parameters.useVSPreview, true) }}:
demands: ImageOverride -equals SHINE-VS17-Preview
buildPlatforms: buildPlatforms:
- ${{ platform }} - ${{ platform }}
buildConfigurations: [Release] buildConfigurations: [Release]
enablePackageCaching: true enablePackageCaching: true
enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }} enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }}
runTests: ${{ parameters.runTests }} runTests: ${{ parameters.runTests }}
useVSPreview: ${{ parameters.useVSPreview }}
- ${{ if eq(parameters.runTests, true) }}: - ${{ if eq(parameters.runTests, true) }}:
- stage: Test_${{ platform }} - stage: Test_${{ platform }}

View File

@ -1,7 +1,7 @@
parameters: parameters:
- name: version - name: version
type: string type: string
default: "8.0" default: "9.0"
- name: sdk - name: sdk
type: boolean type: boolean
default: false default: false

View File

@ -1,4 +1,4 @@
$LatestVCToolsVersion = (([xml](& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -include packages -format xml)).instances.instance.packages.package | ? { $_.id -eq "Microsoft.VisualCpp.CRT.Source" }).version; $LatestVCToolsVersion = (([xml](& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest $env:VCWhereExtraVersionTarget -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -include packages -format xml)).instances.instance.packages.package | ? { $_.id -eq "Microsoft.VisualCpp.CRT.Source" }).version;
Write-Output "Latest VCToolsVersion: $LatestVCToolsVersion" Write-Output "Latest VCToolsVersion: $LatestVCToolsVersion"
Write-Output "Updating VCToolsVersion environment variable for job" Write-Output "Updating VCToolsVersion environment variable for job"

View File

@ -26,19 +26,19 @@
<PackageVersion Include="Markdig.Signed" Version="0.34.0" /> <PackageVersion Include="Markdig.Signed" Version="0.34.0" />
<!-- Including MessagePack to force version, since it's used by StreamJsonRpc but contains vulnerabilities. After StreamJsonRpc updates the version of MessagePack, we can upgrade StreamJsonRpc instead. --> <!-- Including MessagePack to force version, since it's used by StreamJsonRpc but contains vulnerabilities. After StreamJsonRpc updates the version of MessagePack, we can upgrade StreamJsonRpc instead. -->
<PackageVersion Include="MessagePack" Version="2.5.187" /> <PackageVersion Include="MessagePack" Version="2.5.187" />
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0" /> <PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0-preview.24508.2" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.7" /> <PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.0" />
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.1.16" /> <PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.1.16" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> <PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" /> <PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" /> <PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.0" /> <PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.0" /> <PackageVersion Include="Microsoft.Extensions.Hosting.WindowsServices" Version="9.0.0" />
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" /> <PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
<PackageVersion Include="Microsoft.Web.WebView2" Version="1.0.2739.15" /> <PackageVersion Include="Microsoft.Web.WebView2" Version="1.0.2739.15" />
<!-- Package Microsoft.Win32.SystemEvents added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Drawing.Common but the 8.0.1 version wasn't published to nuget. --> <!-- Package Microsoft.Win32.SystemEvents added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Drawing.Common but the 8.0.1 version wasn't published to nuget. -->
<PackageVersion Include="Microsoft.Win32.SystemEvents" Version="8.0.0" /> <PackageVersion Include="Microsoft.Win32.SystemEvents" Version="9.0.0" />
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="8.0.10" /> <PackageVersion Include="Microsoft.Windows.Compatibility" Version="9.0.0" />
<PackageVersion Include="Microsoft.Windows.CsWin32" Version="0.2.46-beta" /> <PackageVersion Include="Microsoft.Windows.CsWin32" Version="0.2.46-beta" />
<!-- CsWinRT version needs to be set to have a WinRT.Runtime.dll at the same version contained inside the NET SDK we're currently building on CI. --> <!-- CsWinRT version needs to be set to have a WinRT.Runtime.dll at the same version contained inside the NET SDK we're currently building on CI. -->
<!-- <!--
@ -63,26 +63,26 @@
<PackageVersion Include="StreamJsonRpc" Version="2.19.27" /> <PackageVersion Include="StreamJsonRpc" Version="2.19.27" />
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" /> <PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
<!-- Package System.CodeDom added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Management but the 8.0.1 version wasn't published to nuget. --> <!-- Package System.CodeDom added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Management but the 8.0.1 version wasn't published to nuget. -->
<PackageVersion Include="System.CodeDom" Version="8.0.0" /> <PackageVersion Include="System.CodeDom" Version="9.0.0" />
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" /> <PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageVersion Include="System.ComponentModel.Composition" Version="8.0.0" /> <PackageVersion Include="System.ComponentModel.Composition" Version="9.0.0" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.1" /> <PackageVersion Include="System.Configuration.ConfigurationManager" Version="9.0.0" />
<PackageVersion Include="System.Data.OleDb" Version="8.0.1" /> <PackageVersion Include="System.Data.OleDb" Version="9.0.0" />
<!-- Package System.Data.SqlClient added to force it as a dependency of Microsoft.Windows.Compatibility to the latest version available at this time. --> <!-- Package System.Data.SqlClient added to force it as a dependency of Microsoft.Windows.Compatibility to the latest version available at this time. -->
<PackageVersion Include="System.Data.SqlClient" Version="4.8.6" /> <PackageVersion Include="System.Data.SqlClient" Version="4.8.6" />
<!-- Package System.Diagnostics.EventLog added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. --> <!-- Package System.Diagnostics.EventLog added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. -->
<PackageVersion Include="System.Diagnostics.EventLog" Version="8.0.1" /> <PackageVersion Include="System.Diagnostics.EventLog" Version="9.0.0" />
<!-- Package System.Diagnostics.PerformanceCounter added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.11. --> <!-- Package System.Diagnostics.PerformanceCounter added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.11. -->
<PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="8.0.1" /> <PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="9.0.0" />
<PackageVersion Include="System.Drawing.Common" Version="8.0.7" /> <PackageVersion Include="System.Drawing.Common" Version="9.0.0" />
<PackageVersion Include="System.IO.Abstractions" Version="21.0.29" /> <PackageVersion Include="System.IO.Abstractions" Version="21.0.29" />
<PackageVersion Include="System.IO.Abstractions.TestingHelpers" Version="21.0.29" /> <PackageVersion Include="System.IO.Abstractions.TestingHelpers" Version="21.0.29" />
<PackageVersion Include="System.Management" Version="8.0.0" /> <PackageVersion Include="System.Management" Version="9.0.0" />
<PackageVersion Include="System.Reactive" Version="6.0.1" /> <PackageVersion Include="System.Reactive" Version="6.0.1" />
<PackageVersion Include="System.Runtime.Caching" Version="8.0.1" /> <PackageVersion Include="System.Runtime.Caching" Version="9.0.0" />
<PackageVersion Include="System.ServiceProcess.ServiceController" Version="8.0.1" /> <PackageVersion Include="System.ServiceProcess.ServiceController" Version="9.0.0" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0" /> <PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.0" />
<PackageVersion Include="System.Text.Json" Version="8.0.5" /> <PackageVersion Include="System.Text.Json" Version="9.0.0" />
<PackageVersion Include="UnicodeInformation" Version="2.6.0" /> <PackageVersion Include="UnicodeInformation" Version="2.6.0" />
<PackageVersion Include="UnitsNet" Version="5.56.0" /> <PackageVersion Include="UnitsNet" Version="5.56.0" />
<PackageVersion Include="UTF.Unknown" Version="2.5.1" /> <PackageVersion Include="UTF.Unknown" Version="2.5.1" />

View File

@ -1318,18 +1318,18 @@ EXHIBIT A -Mozilla Public License.
- Mages 2.0.2 - Mages 2.0.2
- Markdig.Signed 0.34.0 - Markdig.Signed 0.34.0
- MessagePack 2.5.187 - MessagePack 2.5.187
- Microsoft.CodeAnalysis.NetAnalyzers 8.0.0 - Microsoft.CodeAnalysis.NetAnalyzers 9.0.0-preview.24508.2
- Microsoft.Data.Sqlite 8.0.7 - Microsoft.Data.Sqlite 9.0.0
- Microsoft.Diagnostics.Tracing.TraceEvent 3.1.16 - Microsoft.Diagnostics.Tracing.TraceEvent 3.1.16
- Microsoft.Extensions.DependencyInjection 8.0.0 - Microsoft.Extensions.DependencyInjection 9.0.0
- Microsoft.Extensions.Hosting 8.0.0 - Microsoft.Extensions.Hosting 9.0.0
- Microsoft.Extensions.Hosting.WindowsServices 8.0.0 - Microsoft.Extensions.Hosting.WindowsServices 9.0.0
- Microsoft.Extensions.Logging 8.0.0 - Microsoft.Extensions.Logging 9.0.0
- Microsoft.Extensions.Logging.Abstractions 8.0.0 - Microsoft.Extensions.Logging.Abstractions 9.0.0
- Microsoft.Toolkit.Uwp.Notifications 7.1.2 - Microsoft.Toolkit.Uwp.Notifications 7.1.2
- Microsoft.Web.WebView2 1.0.2739.15 - Microsoft.Web.WebView2 1.0.2739.15
- Microsoft.Win32.SystemEvents 8.0.0 - Microsoft.Win32.SystemEvents 9.0.0
- Microsoft.Windows.Compatibility 8.0.10 - Microsoft.Windows.Compatibility 9.0.0
- Microsoft.Windows.CsWin32 0.2.46-beta - Microsoft.Windows.CsWin32 0.2.46-beta
- Microsoft.Windows.CsWinRT 2.1.5 - Microsoft.Windows.CsWinRT 2.1.5
- Microsoft.Windows.SDK.BuildTools 10.0.22621.2428 - Microsoft.Windows.SDK.BuildTools 10.0.22621.2428
@ -1346,23 +1346,23 @@ EXHIBIT A -Mozilla Public License.
- SharpCompress 0.37.2 - SharpCompress 0.37.2
- StreamJsonRpc 2.19.27 - StreamJsonRpc 2.19.27
- StyleCop.Analyzers 1.2.0-beta.556 - StyleCop.Analyzers 1.2.0-beta.556
- System.CodeDom 8.0.0 - System.CodeDom 9.0.0
- System.CommandLine 2.0.0-beta4.22272.1 - System.CommandLine 2.0.0-beta4.22272.1
- System.ComponentModel.Composition 8.0.0 - System.ComponentModel.Composition 9.0.0
- System.Configuration.ConfigurationManager 8.0.1 - System.Configuration.ConfigurationManager 9.0.0
- System.Data.OleDb 8.0.1 - System.Data.OleDb 9.0.0
- System.Data.SqlClient 4.8.6 - System.Data.SqlClient 4.8.6
- System.Diagnostics.EventLog 8.0.1 - System.Diagnostics.EventLog 9.0.0
- System.Diagnostics.PerformanceCounter 8.0.1 - System.Diagnostics.PerformanceCounter 9.0.0
- System.Drawing.Common 8.0.7 - System.Drawing.Common 9.0.0
- System.IO.Abstractions 21.0.29 - System.IO.Abstractions 21.0.29
- System.IO.Abstractions.TestingHelpers 21.0.29 - System.IO.Abstractions.TestingHelpers 21.0.29
- System.Management 8.0.0 - System.Management 9.0.0
- System.Reactive 6.0.1 - System.Reactive 6.0.1
- System.Runtime.Caching 8.0.1 - System.Runtime.Caching 9.0.0
- System.ServiceProcess.ServiceController 8.0.1 - System.ServiceProcess.ServiceController 9.0.0
- System.Text.Encoding.CodePages 8.0.0 - System.Text.Encoding.CodePages 9.0.0
- System.Text.Json 8.0.5 - System.Text.Json 9.0.0
- UnicodeInformation 2.6.0 - UnicodeInformation 2.6.0
- UnitsNet 5.56.0 - UnitsNet 5.56.0
- UTF.Unknown 2.5.1 - UTF.Unknown 2.5.1

View File

@ -3,7 +3,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<WindowsSdkPackageVersion>10.0.22621.48</WindowsSdkPackageVersion> <WindowsSdkPackageVersion>10.0.22621.48</WindowsSdkPackageVersion>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<RuntimeIdentifiers>win-x64;win-arm64</RuntimeIdentifiers> <RuntimeIdentifiers>win-x64;win-arm64</RuntimeIdentifiers>
@ -14,7 +14,7 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoWarn></NoWarn> <NoWarn></NoWarn>
<TreatWarningsAsErrors>True</TreatWarningsAsErrors> <TreatWarningsAsErrors>True</TreatWarningsAsErrors>
<WarningsNotAsErrors>CA1720</WarningsNotAsErrors> <WarningsNotAsErrors>CA1720;CA1859;CA2263;CA2022</WarningsNotAsErrors>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> <PropertyGroup Condition="'$(Configuration)' == 'Debug'">

View File

@ -4,6 +4,7 @@
<PropertyGroup> <PropertyGroup>
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<AssemblyName>PowerToys.Common.UI</AssemblyName> <AssemblyName>PowerToys.Common.UI</AssemblyName>
</PropertyGroup> </PropertyGroup>

View File

@ -21,7 +21,7 @@ namespace AdvancedPaste.Settings
private readonly SettingsUtils _settingsUtils; private readonly SettingsUtils _settingsUtils;
private readonly TaskScheduler _taskScheduler; private readonly TaskScheduler _taskScheduler;
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new(); private readonly Lock _loadingSettingsLock = new();
private readonly List<PasteFormats> _additionalActions; private readonly List<PasteFormats> _additionalActions;
private readonly List<AdvancedPasteCustomAction> _customActions; private readonly List<AdvancedPasteCustomAction> _customActions;

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)\WinUI3Apps</PublishDir> <PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)\WinUI3Apps</PublishDir>

View File

@ -20,7 +20,7 @@ namespace Hosts.Settings
private readonly SettingsUtils _settingsUtils; private readonly SettingsUtils _settingsUtils;
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new object(); private readonly Lock _loadingSettingsLock = new Lock();
public bool ShowStartupWarning { get; private set; } public bool ShowStartupWarning { get; private set; }

View File

@ -3,13 +3,14 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using System;
using System.Threading;
using System.Windows.Threading; using System.Windows.Threading;
namespace MouseJumpUI.Helpers; namespace MouseJumpUI.Helpers;
internal sealed class ThrottledActionInvoker internal sealed class ThrottledActionInvoker
{ {
private readonly object _invokerLock = new(); private readonly Lock _invokerLock = new();
private readonly DispatcherTimer _timer; private readonly DispatcherTimer _timer;
private Action? _actionToRun; private Action? _actionToRun;

View File

@ -368,7 +368,7 @@ namespace MouseWithoutBorders
} }
} }
private static readonly object ClipboardThreadOldLock = new(); private static readonly Lock ClipboardThreadOldLock = new();
private static System.Threading.Thread clipboardThreadOld; private static System.Threading.Thread clipboardThreadOld;
internal static void GetRemoteClipboard(string postAction) internal static void GetRemoteClipboard(string postAction)

View File

@ -32,7 +32,7 @@ namespace MouseWithoutBorders
{ {
public class Thread public class Thread
{ {
private static readonly object ThreadsLock = new(); private static readonly Lock ThreadsLock = new();
private static List<System.Threading.Thread> threads; private static List<System.Threading.Thread> threads;
private readonly System.Threading.Thread thread; private readonly System.Threading.Thread thread;

View File

@ -43,7 +43,7 @@ namespace MouseWithoutBorders
internal partial class Common internal partial class Common
{ {
private static readonly object McMatrixLock = new(); private static readonly Lock McMatrixLock = new();
internal const byte MAX_MACHINE = 4; internal const byte MAX_MACHINE = 4;
internal const byte MAX_SOCKET = MAX_MACHINE * 2; internal const byte MAX_SOCKET = MAX_MACHINE * 2;

View File

@ -474,7 +474,7 @@ namespace MouseWithoutBorders
} }
} }
private static readonly object InputSimulationLock = new(); private static readonly Lock InputSimulationLock = new();
internal static void DoSomethingInTheInputSimulationThread(ThreadStart target) internal static void DoSomethingInTheInputSimulationThread(ThreadStart target)
{ {

View File

@ -10,6 +10,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Threading;
namespace MouseWithoutBorders.Class namespace MouseWithoutBorders.Class
{ {
@ -36,12 +37,12 @@ namespace MouseWithoutBorders.Class
/// </remarks> /// </remarks>
internal class MachinePool internal class MachinePool
{ {
private readonly object @lock; private readonly Lock @lock;
private readonly List<MachineInf> list; private readonly List<MachineInf> list;
public MachinePool() public MachinePool()
{ {
@lock = new object(); @lock = new Lock();
list = new List<MachineInf>(); list = new List<MachineInf>();
} }

View File

@ -13,6 +13,7 @@ using System.IO.Abstractions;
using System.Linq; using System.Linq;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
@ -44,7 +45,7 @@ namespace MouseWithoutBorders.Class
internal bool Changed; internal bool Changed;
private readonly SettingsUtils _settingsUtils; private readonly SettingsUtils _settingsUtils;
private readonly object _loadingSettingsLock = new object(); private readonly Lock _loadingSettingsLock = new Lock();
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private MouseWithoutBordersProperties _properties; private MouseWithoutBordersProperties _properties;

View File

@ -826,7 +826,7 @@ namespace MouseWithoutBorders.Class
} }
private static readonly Dictionary<string, List<IPAddress>> BadIPs = new(); private static readonly Dictionary<string, List<IPAddress>> BadIPs = new();
private static readonly object BadIPsLock = new(); private static readonly Lock BadIPsLock = new();
private static bool IsBadIP(string machineName, IPAddress ip) private static bool IsBadIP(string machineName, IPAddress ip)
{ {

View File

@ -19,6 +19,7 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("The thickness of the border around the field")] [Description("The thickness of the border around the field")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public int BorderSize public int BorderSize
{ {
get => _borderSize; get => _borderSize;
@ -33,6 +34,7 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("The color of the border around the field")] [Description("The color of the border around the field")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Color BorderColor public Color BorderColor
{ {
get => _borderColor; get => _borderColor;
@ -47,6 +49,7 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("The color of the border around the field when it has focus")] [Description("The color of the border around the field when it has focus")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Color FocusColor public Color FocusColor
{ {
get => _focusColor; get => _focusColor;
@ -59,12 +62,14 @@ namespace MouseWithoutBorders
[Category("Behavior")] [Category("Behavior")]
[Description("The maximum number of characters that can be typed in the field")] [Description("The maximum number of characters that can be typed in the field")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public int MaximumLength public int MaximumLength
{ {
get => InnerField.MaxLength; get => InnerField.MaxLength;
set => InnerField.MaxLength = value; set => InnerField.MaxLength = value;
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public override string Text public override string Text
{ {
get => InnerField.Text; get => InnerField.Text;

View File

@ -19,12 +19,14 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("Image to show when Mouse is pressed on button")] [Description("Image to show when Mouse is pressed on button")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Image DownImage { get; set; } public Image DownImage { get; set; }
private Image _normalImage; private Image _normalImage;
[Category("Appearance")] [Category("Appearance")]
[Description("Image to show when button is in normal state")] [Description("Image to show when button is in normal state")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Image NormalImage public Image NormalImage
{ {
get => _normalImage; get => _normalImage;
@ -37,10 +39,12 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("Image to show when Mouse hovers over button")] [Description("Image to show when Mouse hovers over button")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Image HoverImage { get; set; } public Image HoverImage { get; set; }
[Category("Appearance")] [Category("Appearance")]
[Description("Image to show when button is disabled")] [Description("Image to show when button is disabled")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Image DisabledImage { get; set; } public Image DisabledImage { get; set; }
private bool _hovering; private bool _hovering;

View File

@ -16,6 +16,7 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("The bounding rectangle of the check image in local co-ordinates")] [Description("The bounding rectangle of the check image in local co-ordinates")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Point ImageLocation public Point ImageLocation
{ {
get => _imageLocation; get => _imageLocation;
@ -28,6 +29,7 @@ namespace MouseWithoutBorders
private Point _textLocation; private Point _textLocation;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Point TextLocation public Point TextLocation
{ {
get => _textLocation; get => _textLocation;
@ -47,6 +49,7 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("Image to show when Mouse is pressed on button")] [Description("Image to show when Mouse is pressed on button")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Image CheckedImage public Image CheckedImage
{ {
get => _checkedImage; get => _checkedImage;
@ -61,6 +64,7 @@ namespace MouseWithoutBorders
[Category("Appearance")] [Category("Appearance")]
[Description("Image to show when button is in normal state")] [Description("Image to show when button is in normal state")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public Image UncheckedImage public Image UncheckedImage
{ {
get => _uncheckedImage; get => _uncheckedImage;

View File

@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using System;
using System.ComponentModel;
using System.Windows.Forms; using System.Windows.Forms;
// <summary> // <summary>
@ -34,12 +35,14 @@ namespace MouseWithoutBorders
MachineEnabled = false; MachineEnabled = false;
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal string MachineName internal string MachineName
{ {
get => textBoxName.Text; get => textBoxName.Text;
set => textBoxName.Text = value; set => textBoxName.Text = value;
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal bool MachineEnabled internal bool MachineEnabled
{ {
get => checkBoxEnabled.Checked; get => checkBoxEnabled.Checked;
@ -52,6 +55,7 @@ namespace MouseWithoutBorders
} }
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
internal bool Editable internal bool Editable
{ {
set => textBoxName.Enabled = value; set => textBoxName.Enabled = value;
@ -59,6 +63,7 @@ namespace MouseWithoutBorders
// get { return textBoxName.Enabled; } // get { return textBoxName.Enabled; }
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
internal bool CheckAble internal bool CheckAble
{ {
set set
@ -73,6 +78,7 @@ namespace MouseWithoutBorders
} }
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
internal bool LocalHost internal bool LocalHost
{ {
// get { return localhost; } // get { return localhost; }
@ -165,6 +171,7 @@ namespace MouseWithoutBorders
return rv; return rv;
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal SocketStatus StatusClient internal SocketStatus StatusClient
{ {
get => statusClient; get => statusClient;
@ -182,6 +189,7 @@ namespace MouseWithoutBorders
} }
} }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal SocketStatus StatusServer internal SocketStatus StatusServer
{ {
get => statusServer; get => statusServer;

View File

@ -12,6 +12,7 @@ using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
// <summary> // <summary>
@ -30,7 +31,7 @@ namespace MouseWithoutBorders.Core;
internal static class Logger internal static class Logger
{ {
internal static readonly string[] AllLogs = new string[MAX_LOG]; internal static readonly string[] AllLogs = new string[MAX_LOG];
private static readonly object AllLogsLock = new(); private static readonly Lock AllLogsLock = new();
internal static readonly ConcurrentDictionary<string, int> LogCounter = new(); internal static readonly ConcurrentDictionary<string, int> LogCounter = new();
private const int MAX_LOG = 10000; private const int MAX_LOG = 10000;
private static int allLogsIndex; private static int allLogsIndex;

View File

@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using System;
using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
@ -32,6 +33,7 @@ namespace MouseWithoutBorders
private int _animationFrame; private int _animationFrame;
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public bool ReturnToSettings { get; set; } public bool ReturnToSettings { get; set; }
public SetupPage3a() public SetupPage3a()

View File

@ -58,12 +58,16 @@ namespace MouseWithoutBorders
private Timer helperTimer; private Timer helperTimer;
#pragma warning restore CA2213 #pragma warning restore CA2213
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal int CurIcon { get; set; } internal int CurIcon { get; set; }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal NotifyIcon NotifyIcon { get; set; } internal NotifyIcon NotifyIcon { get; set; }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal System.Windows.Forms.ToolStripMenuItem MenuAllPC { get; set; } internal System.Windows.Forms.ToolStripMenuItem MenuAllPC { get; set; }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
internal System.Windows.Forms.ContextMenuStrip MainMenu { get; set; } internal System.Windows.Forms.ContextMenuStrip MainMenu { get; set; }
internal FrmScreen() internal FrmScreen()

View File

@ -19,7 +19,7 @@ namespace MouseWithoutBorders
public partial class FormHelper : System.Windows.Forms.Form public partial class FormHelper : System.Windows.Forms.Form
{ {
private readonly List<FocusArea> focusZone = new(); private readonly List<FocusArea> focusZone = new();
private readonly object bmScreenLock = new(); private readonly Lock bmScreenLock = new();
private long lastClipboardEventTime; private long lastClipboardEventTime;
private IClipboardHelper remoteClipboardHelper; private IClipboardHelper remoteClipboardHelper;

View File

@ -4,6 +4,7 @@
using System; using System;
using System.ComponentModel.Composition; using System.ComponentModel.Composition;
using System.Threading;
using System.Windows.Threading; using System.Windows.Threading;
namespace PowerOCR.Helpers; namespace PowerOCR.Helpers;
@ -11,7 +12,7 @@ namespace PowerOCR.Helpers;
[Export(typeof(IThrottledActionInvoker))] [Export(typeof(IThrottledActionInvoker))]
public sealed class ThrottledActionInvoker : IThrottledActionInvoker public sealed class ThrottledActionInvoker : IThrottledActionInvoker
{ {
private object _invokerLock = new object(); private Lock _invokerLock = new Lock();
private Action? _actionToRun; private Action? _actionToRun;
private DispatcherTimer _timer; private DispatcherTimer _timer;

View File

@ -24,7 +24,7 @@ namespace PowerOCR.Settings
private const int SettingsReadOnChangeDelayInMs = 300; private const int SettingsReadOnChangeDelayInMs = 300;
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new(); private readonly Lock _loadingSettingsLock = new();
[ImportingConstructor] [ImportingConstructor]
public UserSettings(Helpers.IThrottledActionInvoker throttledActionInvoker) public UserSettings(Helpers.IThrottledActionInvoker throttledActionInvoker)

View File

@ -6,13 +6,14 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.Threading;
namespace ColorPicker.Common namespace ColorPicker.Common
{ {
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:File name should match first type name", Justification = "File name is correct, ignore generics")] [System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1649:File name should match first type name", Justification = "File name is correct, ignore generics")]
public sealed class RangeObservableCollection<T> : ObservableCollection<T> public sealed class RangeObservableCollection<T> : ObservableCollection<T>
{ {
private object _collectionChangedLock = new object(); private Lock _collectionChangedLock = new Lock();
private bool _suppressNotification; private bool _suppressNotification;
protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e) protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)

View File

@ -325,7 +325,7 @@ namespace ColorPicker.Controls
private static string ColorToHex(Color color, string oldValue = "") private static string ColorToHex(Color color, string oldValue = "")
{ {
string newHexString = BitConverter.ToString(new byte[] { color.R, color.G, color.B }).Replace("-", string.Empty, StringComparison.InvariantCulture); string newHexString = Convert.ToHexString(new byte[] { color.R, color.G, color.B });
newHexString = newHexString.ToLowerInvariant(); newHexString = newHexString.ToLowerInvariant();
// Return only with hashtag if user typed it before // Return only with hashtag if user typed it before

View File

@ -4,6 +4,7 @@
using System; using System;
using System.ComponentModel.Composition; using System.ComponentModel.Composition;
using System.Threading;
using System.Windows; using System.Windows;
using System.Windows.Interop; using System.Windows.Interop;
@ -23,7 +24,7 @@ namespace ColorPicker.Helpers
private readonly IUserSettings _userSettings; private readonly IUserSettings _userSettings;
private ColorEditorWindow _colorEditorWindow; private ColorEditorWindow _colorEditorWindow;
private bool _colorPickerShown; private bool _colorPickerShown;
private object _colorPickerVisibilityLock = new object(); private Lock _colorPickerVisibilityLock = new Lock();
private HwndSource _hwndSource; private HwndSource _hwndSource;
private const int _globalHotKeyId = 0x0001; private const int _globalHotKeyId = 0x0001;

View File

@ -4,6 +4,7 @@
using System; using System;
using System.ComponentModel.Composition; using System.ComponentModel.Composition;
using System.Threading;
using System.Windows.Threading; using System.Windows.Threading;
namespace ColorPicker.Helpers namespace ColorPicker.Helpers
@ -11,7 +12,7 @@ namespace ColorPicker.Helpers
[Export(typeof(IThrottledActionInvoker))] [Export(typeof(IThrottledActionInvoker))]
public sealed class ThrottledActionInvoker : IThrottledActionInvoker public sealed class ThrottledActionInvoker : IThrottledActionInvoker
{ {
private object _invokerLock = new object(); private Lock _invokerLock = new Lock();
private Action _actionToRun; private Action _actionToRun;
private DispatcherTimer _timer; private DispatcherTimer _timer;

View File

@ -33,7 +33,7 @@ namespace ColorPicker.Settings
[System.Diagnostics.CodeAnalysis.SuppressMessage("CodeQuality", "IDE0052:Remove unread private members", Justification = "Actually, call back is LoadSettingsFromJson")] [System.Diagnostics.CodeAnalysis.SuppressMessage("CodeQuality", "IDE0052:Remove unread private members", Justification = "Actually, call back is LoadSettingsFromJson")]
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new object(); private readonly Lock _loadingSettingsLock = new Lock();
private bool _loadingColorsHistory; private bool _loadingColorsHistory;

View File

@ -21,7 +21,7 @@ namespace Microsoft.Plugin.WindowWalker.Components
/// <summary> /// <summary>
/// Used to enforce single execution of EnumWindows /// Used to enforce single execution of EnumWindows
/// </summary> /// </summary>
private static readonly object _enumWindowsLock = new(); private static readonly Lock _enumWindowsLock = new();
/// <summary> /// <summary>
/// PowerLauncher main executable /// PowerLauncher main executable

View File

@ -22,7 +22,7 @@ namespace Microsoft.PowerToys.Run.Plugin.PowerToys
private const int MaxNumberOfRetry = 5; private const int MaxNumberOfRetry = 5;
private readonly List<Utility> _utilities; private readonly List<Utility> _utilities;
private readonly FileSystemWatcher _watcher; private readonly FileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new(); private readonly Lock _loadingSettingsLock = new();
private bool _disposed; private bool _disposed;
public UtilityProvider() public UtilityProvider()

View File

@ -49,7 +49,7 @@ namespace PowerLauncher
private ETWTrace etwTrace = new ETWTrace(); private ETWTrace etwTrace = new ETWTrace();
// To prevent two disposals running at the same time. // To prevent two disposals running at the same time.
private static readonly object _disposingLock = new object(); private static readonly Lock _disposingLock = new Lock();
[STAThread] [STAThread]
public static void Main() public static void Main()

View File

@ -11,6 +11,7 @@ using System.IO.Abstractions;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows; using System.Windows;
@ -29,7 +30,7 @@ namespace PowerLauncher.Plugin
{ {
private static readonly IFileSystem FileSystem = new FileSystem(); private static readonly IFileSystem FileSystem = new FileSystem();
private static readonly IDirectory Directory = FileSystem.Directory; private static readonly IDirectory Directory = FileSystem.Directory;
private static readonly object AllPluginsLock = new object(); private static readonly Lock AllPluginsLock = new Lock();
private static readonly CompositeFormat FailedToInitializePluginsDescription = System.Text.CompositeFormat.Parse(Properties.Resources.FailedToInitializePluginsDescription); private static readonly CompositeFormat FailedToInitializePluginsDescription = System.Text.CompositeFormat.Parse(Properties.Resources.FailedToInitializePluginsDescription);

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir> <PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir>

View File

@ -29,7 +29,7 @@ namespace PowerLauncher
private readonly SettingsUtils _settingsUtils; private readonly SettingsUtils _settingsUtils;
private const int MaxRetries = 10; private const int MaxRetries = 10;
private static readonly object _readSyncObject = new object(); private static readonly Lock _readSyncObject = new Lock();
private readonly PowerToysRunSettings _settings; private readonly PowerToysRunSettings _settings;
private readonly ThemeManager _themeManager; private readonly ThemeManager _themeManager;
private Action _refreshPluginsOverviewCallback; private Action _refreshPluginsOverviewCallback;
@ -73,7 +73,7 @@ namespace PowerLauncher
public void ReadSettings() public void ReadSettings()
{ {
Monitor.Enter(_readSyncObject); _readSyncObject.Enter();
var retry = true; var retry = true;
var retryCount = 0; var retryCount = 0;
while (retry) while (retry)
@ -224,7 +224,7 @@ namespace PowerLauncher
} }
} }
Monitor.Exit(_readSyncObject); _readSyncObject.Exit();
} }
public void SetRefreshPluginsOverviewCallback(Action callback) public void SetRefreshPluginsOverviewCallback(Action callback)

View File

@ -47,7 +47,7 @@ namespace PowerLauncher.ViewModel
private readonly PowerToysRunSettings _settings; private readonly PowerToysRunSettings _settings;
private readonly QueryHistory _history; private readonly QueryHistory _history;
private readonly UserSelectedRecord _userSelectedRecord; private readonly UserSelectedRecord _userSelectedRecord;
private static readonly object _addResultsLock = new object(); private static readonly Lock _addResultsLock = new Lock();
private readonly System.Diagnostics.Stopwatch _hotkeyTimer = new System.Diagnostics.Stopwatch(); private readonly System.Diagnostics.Stopwatch _hotkeyTimer = new System.Diagnostics.Stopwatch();
private string _queryTextBeforeLeaveResults; private string _queryTextBeforeLeaveResults;

View File

@ -5,6 +5,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using System.Threading;
using Wox.Plugin.Logger; using Wox.Plugin.Logger;
@ -13,7 +14,7 @@ namespace Wox.Infrastructure
public static class Stopwatch public static class Stopwatch
{ {
private static readonly Dictionary<string, long> Count = new Dictionary<string, long>(); private static readonly Dictionary<string, long> Count = new Dictionary<string, long>();
private static readonly object Locker = new object(); private static readonly Lock Locker = new Lock();
/// <summary> /// <summary>
/// This stopwatch will appear only in Debug mode /// This stopwatch will appear only in Debug mode

View File

@ -9,6 +9,7 @@ using System.IO;
using System.IO.Abstractions; using System.IO.Abstractions;
using System.Linq; using System.Linq;
using System.Text.Json; using System.Text.Json;
using System.Threading;
using Wox.Plugin.Logger; using Wox.Plugin.Logger;
@ -23,7 +24,7 @@ namespace Wox.Infrastructure.Storage
private static readonly IPath Path = FileSystem.Path; private static readonly IPath Path = FileSystem.Path;
private static readonly IFile File = FileSystem.File; private static readonly IFile File = FileSystem.File;
private readonly object _saveLock = new object(); private readonly Lock _saveLock = new Lock();
// use property initialization instead of DefaultValueAttribute // use property initialization instead of DefaultValueAttribute
// easier and flexible for default value of object // easier and flexible for default value of object

View File

@ -4,6 +4,7 @@
using System; using System;
using System.Text; using System.Text;
using System.Threading;
using Wox.Plugin.Common.Win32; using Wox.Plugin.Common.Win32;
using Wox.Plugin.Logger; using Wox.Plugin.Logger;
@ -15,7 +16,7 @@ namespace Wox.Plugin.Common
/// </summary> /// </summary>
public static class DefaultBrowserInfo public static class DefaultBrowserInfo
{ {
private static readonly object _updateLock = new object(); private static readonly Lock _updateLock = new Lock();
/// <summary>Gets the path to the MS Edge browser executable.</summary> /// <summary>Gets the path to the MS Edge browser executable.</summary>
public static string MSEdgePath => System.IO.Path.Combine( public static string MSEdgePath => System.IO.Path.Combine(

View File

@ -20,7 +20,7 @@ namespace Peek.FilePreviewer.Models
private readonly SettingsUtils _settingsUtils; private readonly SettingsUtils _settingsUtils;
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new(); private readonly Lock _loadingSettingsLock = new();
public bool SourceCodeWrapText { get; private set; } public bool SourceCodeWrapText { get; private set; }

View File

@ -20,7 +20,7 @@ namespace Peek.UI
private readonly SettingsUtils _settingsUtils; private readonly SettingsUtils _settingsUtils;
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new(); private readonly Lock _loadingSettingsLock = new();
public bool CloseAfterLosingFocus { get; private set; } public bool CloseAfterLosingFocus { get; private set; }

View File

@ -18,7 +18,7 @@ public class SettingsService
private const string PowerAccentModuleName = "QuickAccent"; private const string PowerAccentModuleName = "QuickAccent";
private readonly SettingsUtils _settingsUtils; private readonly SettingsUtils _settingsUtils;
private readonly IFileSystemWatcher _watcher; private readonly IFileSystemWatcher _watcher;
private readonly object _loadingSettingsLock = new object(); private readonly Lock _loadingSettingsLock = new Lock();
private KeyboardListener _keyboardListener; private KeyboardListener _keyboardListener;
public SettingsService(KeyboardListener keyboardListener) public SettingsService(KeyboardListener keyboardListener)

View File

@ -37,6 +37,7 @@
<ProjectReference Include="..\..\..\common\GPOWrapper\GPOWrapper.vcxproj" /> <ProjectReference Include="..\..\..\common\GPOWrapper\GPOWrapper.vcxproj" />
<ProjectReference Include="..\..\..\common\ManagedTelemetry\Telemetry\ManagedTelemetry.csproj" /> <ProjectReference Include="..\..\..\common\ManagedTelemetry\Telemetry\ManagedTelemetry.csproj" />
<ProjectReference Include="..\Common\PreviewHandlerCommon.csproj" /> <ProjectReference Include="..\Common\PreviewHandlerCommon.csproj" />
<ProjectReference Include="..\..\..\common\Common.UI\Common.UI.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir> <PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir>

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir> <PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir>

View File

@ -35,6 +35,7 @@
<ProjectReference Include="..\..\..\common\GPOWrapper\GPOWrapper.vcxproj" /> <ProjectReference Include="..\..\..\common\GPOWrapper\GPOWrapper.vcxproj" />
<ProjectReference Include="..\..\..\common\ManagedTelemetry\Telemetry\ManagedTelemetry.csproj" /> <ProjectReference Include="..\..\..\common\ManagedTelemetry\Telemetry\ManagedTelemetry.csproj" />
<ProjectReference Include="..\Common\PreviewHandlerCommon.csproj" /> <ProjectReference Include="..\Common\PreviewHandlerCommon.csproj" />
<ProjectReference Include="..\..\..\common\Common.UI\Common.UI.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -36,6 +36,7 @@
<ProjectReference Include="..\..\..\common\GPOWrapper\GPOWrapper.vcxproj" /> <ProjectReference Include="..\..\..\common\GPOWrapper\GPOWrapper.vcxproj" />
<ProjectReference Include="..\..\..\common\ManagedTelemetry\Telemetry\ManagedTelemetry.csproj" /> <ProjectReference Include="..\..\..\common\ManagedTelemetry\Telemetry\ManagedTelemetry.csproj" />
<ProjectReference Include="..\Common\PreviewHandlerCommon.csproj" /> <ProjectReference Include="..\Common\PreviewHandlerCommon.csproj" />
<ProjectReference Include="..\..\..\common\Common.UI\Common.UI.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir> <PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir>

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir> <PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)</PublishDir>

View File

@ -25,8 +25,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library
{ {
private static SettingsBackupAndRestoreUtils instance; private static SettingsBackupAndRestoreUtils instance;
private (bool Success, string Severity, bool LastBackupExists, DateTime? LastRan) lastBackupSettingsResults; private (bool Success, string Severity, bool LastBackupExists, DateTime? LastRan) lastBackupSettingsResults;
private static object backupSettingsInternalLock = new object(); private static Lock backupSettingsInternalLock = new Lock();
private static object removeOldBackupsLock = new object(); private static Lock removeOldBackupsLock = new Lock();
public DateTime LastBackupStartTime { get; set; } public DateTime LastBackupStartTime { get; set; }
@ -933,7 +933,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
/// </summary> /// </summary>
private static void RemoveOldBackups(string location, int minNumberToKeep, TimeSpan deleteIfOlderThanTs) private static void RemoveOldBackups(string location, int minNumberToKeep, TimeSpan deleteIfOlderThanTs)
{ {
if (!Monitor.TryEnter(removeOldBackupsLock, 1000)) if (!removeOldBackupsLock.TryEnter(1000))
{ {
return; return;
} }
@ -1002,7 +1002,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
} }
finally finally
{ {
Monitor.Exit(removeOldBackupsLock); removeOldBackupsLock.Exit();
} }
} }

View File

@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information. // See the LICENSE file in the project root for more information.
using System; using System;
using System.Threading;
using Microsoft.PowerToys.Settings.UI.Library.Interfaces; using Microsoft.PowerToys.Settings.UI.Library.Interfaces;
@ -13,7 +14,7 @@ namespace Microsoft.PowerToys.Settings.UI.Library
public class SettingsRepository<T> : ISettingsRepository<T> public class SettingsRepository<T> : ISettingsRepository<T>
where T : class, ISettingsConfig, new() where T : class, ISettingsConfig, new()
{ {
private static readonly object _SettingsRepoLock = new object(); private static readonly Lock _SettingsRepoLock = new Lock();
private static ISettingsUtils _settingsUtils; private static ISettingsUtils _settingsUtils;

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol> <PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework> <TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion> <SupportedOSPlatformVersion>10.0.19041.0</SupportedOSPlatformVersion>
<PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)\WinUI3Apps</PublishDir> <PublishDir>$(PowerToysRoot)\$(Platform)\$(Configuration)\WinUI3Apps</PublishDir>

View File

@ -35,7 +35,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
private GeneralSettings GeneralSettingsConfig { get; set; } private GeneralSettings GeneralSettingsConfig { get; set; }
private readonly ISettingsUtils _settingsUtils; private readonly ISettingsUtils _settingsUtils;
private readonly object _delayedActionLock = new object(); private readonly System.Threading.Lock _delayedActionLock = new System.Threading.Lock();
private readonly AdvancedPasteSettings _advancedPasteSettings; private readonly AdvancedPasteSettings _advancedPasteSettings;
private readonly AdvancedPasteAdditionalActions _additionalActions; private readonly AdvancedPasteAdditionalActions _additionalActions;

View File

@ -29,7 +29,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
private GeneralSettings GeneralSettingsConfig { get; set; } private GeneralSettings GeneralSettingsConfig { get; set; }
private readonly ISettingsUtils _settingsUtils; private readonly ISettingsUtils _settingsUtils;
private readonly object _delayedActionLock = new object(); private readonly System.Threading.Lock _delayedActionLock = new System.Threading.Lock();
private readonly ColorPickerSettings _colorPickerSettings; private readonly ColorPickerSettings _colorPickerSettings;
private Timer _delayedTimer; private Timer _delayedTimer;

View File

@ -39,7 +39,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
0, 0,
}; };
private readonly object _machineMatrixStringLock = new(); private readonly Lock _machineMatrixStringLock = new();
private static readonly Dictionary<SocketStatus, Brush> StatusColors = new Dictionary<SocketStatus, Brush>() private static readonly Dictionary<SocketStatus, Brush> StatusColors = new Dictionary<SocketStatus, Brush>()
{ {

View File

@ -30,7 +30,7 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
private GeneralSettings GeneralSettingsConfig { get; set; } private GeneralSettings GeneralSettingsConfig { get; set; }
private readonly ISettingsUtils _settingsUtils; private readonly ISettingsUtils _settingsUtils;
private readonly object _delayedActionLock = new object(); private readonly System.Threading.Lock _delayedActionLock = new System.Threading.Lock();
private readonly PowerOcrSettings _powerOcrSettings; private readonly PowerOcrSettings _powerOcrSettings;
private Timer _delayedTimer; private Timer _delayedTimer;