diff --git a/.gitignore b/.gitignore
index 45cc92d11..84ce9d618 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,14 +28,21 @@
# Visual Studio 15+ auto generated files
Generated\ Files/
+# Backup folder for Package Reference Convert tool in Visual Studio 15+
+MigrationBackup/
+
+# Live Unit Testing for Visual Studio
+.lutignore
+*.lutconfig
+
# Local History for Visual Studio
.localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
-# Backup folder for Package Reference Convert tool in Visual Studio 2017
-MigrationBackup/
+# Local History for Visual Studio Code
+.history/
# VS Code files for those working on multiple tools
.vscode/*
@@ -45,9 +52,6 @@ MigrationBackup/
!.vscode/extensions.json
*.code-workspace
-# Local History for Visual Studio Code
-.history/
-
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
@@ -95,7 +99,7 @@ StyleCopReport.xml
*.tlog
*.vspscc
*.vssscc
-.builds
+*.builds
*.pidb
*.svclog
*.scc
@@ -177,7 +181,7 @@ _pkginfo.txt
# Others
ClientBin/
-~$*
+~*
*~
*~.*
*.dbmdl
diff --git a/CODE_OF_CONDUCT.md b/Code-of-Conduct.md
similarity index 100%
rename from CODE_OF_CONDUCT.md
rename to Code-of-Conduct.md
diff --git a/CommunityToolkit.sln b/CommunityToolkit.sln
new file mode 100644
index 000000000..013b42969
--- /dev/null
+++ b/CommunityToolkit.sln
@@ -0,0 +1,201 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0
+MinimumVisualStudioVersion = 15.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Root", "Root", "{CFA75BE0-5A44-45DE-8114-426A605B062B}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ .gitattributes = .gitattributes
+ .gitignore = .gitignore
+ .runsettings = .runsettings
+ azure-pipelines.yml = azure-pipelines.yml
+ Directory.Build.props = Directory.Build.props
+ Directory.Build.rsp = Directory.Build.rsp
+ Directory.Build.targets = Directory.Build.targets
+ version.json = version.json
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{CD16E790-7B7B-411E-9CE7-768E759CC22D}"
+ ProjectSection(SolutionItems) = preProject
+ eng\AssemblyInfo.Shared.cs = eng\AssemblyInfo.Shared.cs
+ eng\Sign-Package.ps1 = eng\Sign-Package.ps1
+ eng\SignClientSettings.json = eng\SignClientSettings.json
+ eng\Toolkit.Common.props = eng\Toolkit.Common.props
+ eng\Toolkit.Common.targets = eng\Toolkit.Common.targets
+ eng\Toolkit.CompilerTargeting.props = eng\Toolkit.CompilerTargeting.props
+ eng\Toolkit.CompilerTargeting.targets = eng\Toolkit.CompilerTargeting.targets
+ eng\toolkit.spk = eng\toolkit.spk
+ eng\Toolkit.TextTemplates.targets = eng\Toolkit.TextTemplates.targets
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{88C6FFBE-322D-4CEA-842B-B2CB281D357D}"
+ ProjectSection(SolutionItems) = preProject
+ Code-of-Conduct.md = Code-of-Conduct.md
+ Contributing.md = Contributing.md
+ License.md = License.md
+ ReadMe.md = ReadMe.md
+ ThirdPartyNotices.txt = ThirdPartyNotices.txt
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sources", "Sources", "{9C3C9461-25D3-437B-B942-AF449AAA3E94}"
+ ProjectSection(SolutionItems) = preProject
+ src\Directory.Build.props = src\Directory.Build.props
+ src\Directory.Build.targets = src\Directory.Build.targets
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Common", "src\CommunityToolkit.Common\CommunityToolkit.Common.csproj", "{6FE128A8-CEFA-4A61-A987-EC92DE6B538E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Diagnostics", "src\CommunityToolkit.Diagnostics\CommunityToolkit.Diagnostics.csproj", "{76F89522-CA28-458D-801D-947AB033A758}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.HighPerformance", "src\CommunityToolkit.HighPerformance\CommunityToolkit.HighPerformance.csproj", "{7E30D48C-4CD8-47BE-B557-10A20391DCC4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm", "src\CommunityToolkit.Mvvm\CommunityToolkit.Mvvm.csproj", "{D82AE6E1-E612-434E-ACB2-363EE48738D3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn40", "src\CommunityToolkit.Mvvm.SourceGenerators\CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.csproj", "{E24D1146-5AD8-498F-A518-4890D8BF4937}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn43", "src\CommunityToolkit.Mvvm.SourceGenerators\CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.csproj", "{DF455C40-B18E-4890-8758-7CCCB5CA7052}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{B30036C4-D514-4E5B-A323-587A061772CE}"
+ ProjectSection(SolutionItems) = preProject
+ tests\Directory.Build.props = tests\Directory.Build.props
+ tests\Directory.Build.targets = tests\Directory.Build.targets
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Common.UnitTests", "tests\CommunityToolkit.Common.UnitTests\CommunityToolkit.Common.UnitTests.csproj", "{17522D0B-CA70-40B6-AFD8-8B8D45E75D92}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Diagnostics.UnitTests", "tests\CommunityToolkit.Diagnostics.UnitTests\CommunityToolkit.Diagnostics.UnitTests.csproj", "{35E48D4D-6433-4B70-98A9-BA544921EE04}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.HighPerformance.UnitTests", "tests\CommunityToolkit.HighPerformance.UnitTests\CommunityToolkit.HighPerformance.UnitTests.csproj", "{D9BDBC68-3D0A-47FC-9C88-0BF769101644}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.Internals.UnitTests", "tests\CommunityToolkit.Mvvm.Internals.UnitTests\CommunityToolkit.Mvvm.Internals.UnitTests.csproj", "{743D74BA-12AE-4639-AD77-B9DDA9C03255}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targeting Roslyn 4.0", "Targeting Roslyn 4.0", "{6640D447-C28D-4DBB-91F4-3ADCE0CA64AD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.Roslyn40.UnitTests", "tests\CommunityToolkit.Mvvm.UnitTests\CommunityToolkit.Mvvm.Roslyn40.UnitTests.csproj", "{AD9C3223-8E37-4FD4-A0D4-A45119551D3A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.UnitTests", "tests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.UnitTests.csproj", "{F3799252-7A66-4533-89D8-B3C312052D95}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn40.UnitTests", "tests\CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests\CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn40.UnitTests.csproj", "{9E09DA49-4389-4ECE-8B68-EBDB1221DA90}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.ExternalAssembly.Roslyn40", "tests\CommunityToolkit.Mvvm.ExternalAssembly\CommunityToolkit.Mvvm.ExternalAssembly.Roslyn40.csproj", "{ECFE93AA-4B98-4292-B3FA-9430D513B4F9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targeting Roslyn 4.3", "Targeting Roslyn 4.3", "{DD607B22-936D-4AA0-BD21-BC4A12653D79}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.Roslyn43.UnitTests", "tests\CommunityToolkit.Mvvm.UnitTests\CommunityToolkit.Mvvm.Roslyn43.UnitTests.csproj", "{5B44F7F1-DCA2-4776-924E-A266F7BBF753}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.UnitTests", "tests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.UnitTests.csproj", "{FE3EA695-EA0F-4E5F-9257-E059AAA23B10}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn43.UnitTests", "tests\CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests\CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn43.UnitTests.csproj", "{C0F1421F-5375-459F-9CFB-9D851EF8AF58}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.ExternalAssembly.Roslyn43", "tests\CommunityToolkit.Mvvm.ExternalAssembly\CommunityToolkit.Mvvm.ExternalAssembly.Roslyn43.csproj", "{4FCD501C-1BB5-465C-AD19-356DAB6600C6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {76F89522-CA28-458D-801D-947AB033A758}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {76F89522-CA28-458D-801D-947AB033A758}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {76F89522-CA28-458D-801D-947AB033A758}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {76F89522-CA28-458D-801D-947AB033A758}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|Any CPU.Build.0 = Release|Any CPU
+ {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|Any CPU.Build.0 = Release|Any CPU
+ {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|Any CPU.Build.0 = Release|Any CPU
+ {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F3799252-7A66-4533-89D8-B3C312052D95}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F3799252-7A66-4533-89D8-B3C312052D95}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C0F1421F-5375-459F-9CFB-9D851EF8AF58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C0F1421F-5375-459F-9CFB-9D851EF8AF58}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C0F1421F-5375-459F-9CFB-9D851EF8AF58}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C0F1421F-5375-459F-9CFB-9D851EF8AF58}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {CD16E790-7B7B-411E-9CE7-768E759CC22D} = {CFA75BE0-5A44-45DE-8114-426A605B062B}
+ {88C6FFBE-322D-4CEA-842B-B2CB281D357D} = {CFA75BE0-5A44-45DE-8114-426A605B062B}
+ {6FE128A8-CEFA-4A61-A987-EC92DE6B538E} = {9C3C9461-25D3-437B-B942-AF449AAA3E94}
+ {76F89522-CA28-458D-801D-947AB033A758} = {9C3C9461-25D3-437B-B942-AF449AAA3E94}
+ {7E30D48C-4CD8-47BE-B557-10A20391DCC4} = {9C3C9461-25D3-437B-B942-AF449AAA3E94}
+ {D82AE6E1-E612-434E-ACB2-363EE48738D3} = {9C3C9461-25D3-437B-B942-AF449AAA3E94}
+ {E24D1146-5AD8-498F-A518-4890D8BF4937} = {9C3C9461-25D3-437B-B942-AF449AAA3E94}
+ {DF455C40-B18E-4890-8758-7CCCB5CA7052} = {9C3C9461-25D3-437B-B942-AF449AAA3E94}
+ {17522D0B-CA70-40B6-AFD8-8B8D45E75D92} = {B30036C4-D514-4E5B-A323-587A061772CE}
+ {35E48D4D-6433-4B70-98A9-BA544921EE04} = {B30036C4-D514-4E5B-A323-587A061772CE}
+ {D9BDBC68-3D0A-47FC-9C88-0BF769101644} = {B30036C4-D514-4E5B-A323-587A061772CE}
+ {743D74BA-12AE-4639-AD77-B9DDA9C03255} = {B30036C4-D514-4E5B-A323-587A061772CE}
+ {6640D447-C28D-4DBB-91F4-3ADCE0CA64AD} = {B30036C4-D514-4E5B-A323-587A061772CE}
+ {AD9C3223-8E37-4FD4-A0D4-A45119551D3A} = {6640D447-C28D-4DBB-91F4-3ADCE0CA64AD}
+ {F3799252-7A66-4533-89D8-B3C312052D95} = {6640D447-C28D-4DBB-91F4-3ADCE0CA64AD}
+ {9E09DA49-4389-4ECE-8B68-EBDB1221DA90} = {6640D447-C28D-4DBB-91F4-3ADCE0CA64AD}
+ {ECFE93AA-4B98-4292-B3FA-9430D513B4F9} = {6640D447-C28D-4DBB-91F4-3ADCE0CA64AD}
+ {DD607B22-936D-4AA0-BD21-BC4A12653D79} = {B30036C4-D514-4E5B-A323-587A061772CE}
+ {5B44F7F1-DCA2-4776-924E-A266F7BBF753} = {DD607B22-936D-4AA0-BD21-BC4A12653D79}
+ {FE3EA695-EA0F-4E5F-9257-E059AAA23B10} = {DD607B22-936D-4AA0-BD21-BC4A12653D79}
+ {C0F1421F-5375-459F-9CFB-9D851EF8AF58} = {DD607B22-936D-4AA0-BD21-BC4A12653D79}
+ {4FCD501C-1BB5-465C-AD19-356DAB6600C6} = {DD607B22-936D-4AA0-BD21-BC4A12653D79}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5403B0C4-F244-4F73-A35C-FE664D0F4345}
+ EndGlobalSection
+EndGlobal
diff --git a/Directory.Build.props b/Directory.Build.props
index 37e8c3425..ff806bb95 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -2,27 +2,10 @@
$(MSBuildThisFileDirectory)
- $(RepositoryDirectory)build\
+ $(RepositoryDirectory)eng\
-
-
-
-
-
- true
- $(RepositoryDirectory)bin\nupkg
- true
-
-
-
-
- false
- false
- $(NoWarn);CS8002;SA0001
-
-
-
+
@@ -36,7 +19,7 @@
true
- $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb
+ .pdb
diff --git a/Directory.Build.rsp b/Directory.Build.rsp
new file mode 100644
index 000000000..1dd5ed52c
--- /dev/null
+++ b/Directory.Build.rsp
@@ -0,0 +1,5 @@
+-NoLogo
+-MaxCPUCount
+-NodeReuse:True
+-Verbosity:Normal
+-ConsoleLoggerParameters:ForceNoAlign
\ No newline at end of file
diff --git a/Directory.Build.targets b/Directory.Build.targets
index c51d83ac5..7c46a1073 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -1,7 +1,12 @@
-
+
+
diff --git a/README.md b/ReadMe.md
similarity index 98%
rename from README.md
rename to ReadMe.md
index e1d670d78..6476895d0 100644
--- a/README.md
+++ b/ReadMe.md
@@ -42,7 +42,7 @@ Check out our [Preview Packages Wiki Page](https://github.com/CommunityToolkit/d
## 📄 Code of Conduct
This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community.
-For more information see the [.NET Foundation Code of Conduct](CODE_OF_CONDUCT.md).
+For more information see the [.NET Foundation's Code of Conduct](Code-of-Conduct.md).
## 🏢 .NET Foundation
diff --git a/ThirdPartyNotices.txt b/ThirdPartyNotices.txt
index ea8b9da1c..1010bb503 100644
--- a/ThirdPartyNotices.txt
+++ b/ThirdPartyNotices.txt
@@ -5,9 +5,9 @@ Do Not Translate or Localize
This project incorporates components from the projects listed below. The original copyright notices and the licenses under which the .NET Foundation received such components are set forth below. The .NET Foundation reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise.
-1. PedroLamas/DeferredEvents version 1.0.4 (https://github.com/PedroLamas/DeferredEvents), included in CommunityToolkit.Common/Deferred.
-2. MichaeIDietrich/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/MichaeIDietrich/UwpNotificationNetCoreTest), used in DesktopNotificationManagerCompat.cs to support .NET Core 3.0.
-3. lbugnion/mvvmlight commit 4cbf77c (https://github.com/lbugnion/mvvmlight), from which some APIs from the `CommunityToolkit.Mvvm` package take inspiration from.
+1. PedroLamas/DeferredEvents version 1.0.4 (https://github.com/PedroLamas/DeferredEvents), included in CommunityToolkit.Common/Deferred.
+2. MichaeIDietrich/UwpNotificationNetCoreTest commit 5c1a4a3 (https://github.com/MichaeIDietrich/UwpNotificationNetCoreTest), used in DesktopNotificationManagerCompat.cs to support .NET Core 3.0.
+3. lbugnion/mvvmlight commit 4cbf77c (https://github.com/lbugnion/mvvmlight), from which some APIs from the `CommunityToolkit.Mvvm` package take inspiration from.
4. PrivateObject/PrivateType (https://github.com/microsoft/testfx/tree/664ac7c2ac9dbfbee9d2a0ef560cfd72449dfe34/src/TestFramework/Extension.Desktop), included in UnitTests.
5. QuinnDamerell/UniversalMarkdown (https://github.com/QuinnDamerell/UniversalMarkdown) contributed by Quinn Damerell and Paul Bartrum for the MarkdownTextBlock control, relicensed to this .NET Foundation project under the MIT license upon contribution in https://github.com/CommunityToolkit/WindowsCommunityToolkit/pull/772.
6. qmatteoq/DesktopBridgeHelpers commit e278153 (https://github.com/qmatteoq/DesktopBridgeHelpers), contributed by Matteo Pagani to identify if running with identity in DesktopNotificationManagerCompat.cs and DesktopBridgeHelpers.cs, relicensed to this .NET Foundation project under the MIT license upon contribution in https://github.com/CommunityToolkit/WindowsCommunityToolkit/pull/3457.
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 4738052bf..28e2b003d 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -78,7 +78,7 @@ jobs:
displayName: Pack solution
# Sign packages
- - pwsh: build/Sign-Package.ps1
+ - pwsh: eng/Sign-Package.ps1
displayName: Authenticode sign packages
env:
SignClientUser: $(SignClientUser)
diff --git a/build/Community.Toolkit.Common.props b/build/Community.Toolkit.Common.props
deleted file mode 100644
index a43ae645d..000000000
--- a/build/Community.Toolkit.Common.props
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
- Microsoft
- Microsoft
- .NET Community Toolkit
- dotnet;Community;Toolkit
- MIT
- true
- (c) .NET Foundation and Contributors. All rights reserved.
- https://github.com/CommunityToolkit/dotnet
- https://github.com/CommunityToolkit/dotnet/releases
- Icon.png
- https://raw.githubusercontent.com/CommunityToolkit/dotnet/main/build/nuget.png
-
-
-
- true
-
-
-
- true
- 11.0
- enable
-
-
- $(NoWarn);CS8500
-
-
-
- true
- $(RepositoryDirectory)toolkit.snk
- 002400000480000094000000060200000024000052534131000400000100010041753AF735AE6140C9508567666C51C6AB929806ADB0D210694B30AB142A060237BC741F9682E7D8D4310364B4BBA4EE89CC9D3D5CE7E5583587E8EA44DCA09977996582875E71FB54FA7B170798D853D5D8010B07219633BDB761D01AC924DA44576D6180CDCEAE537973982BB461C541541D58417A3794E34F45E6F2D129E2
-
-
-
- $(MSBuildProjectName.Contains('Test'))
- False
- True
-
-
-
- true
- true
- $(TF_BUILD)
-
-
-
\ No newline at end of file
diff --git a/build/Community.Toolkit.Common.targets b/build/Community.Toolkit.Common.targets
deleted file mode 100644
index f34ab2ab5..000000000
--- a/build/Community.Toolkit.Common.targets
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- $(Product) Asset
-
-
-
- $(CommonTags);.NET
- $(CommonTags);$(PackageTags)
- $(CommonTags)
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dotnet Community Toolkit.sln b/dotnet Community Toolkit.sln
deleted file mode 100644
index 8e1b61745..000000000
--- a/dotnet Community Toolkit.sln
+++ /dev/null
@@ -1,478 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.0.31815.197
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{B30036C4-D514-4E5B-A323-587A061772CE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Common", "src\CommunityToolkit.Common\CommunityToolkit.Common.csproj", "{6FE128A8-CEFA-4A61-A987-EC92DE6B538E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CFA75BE0-5A44-45DE-8114-426A605B062B}"
- ProjectSection(SolutionItems) = preProject
- .editorconfig = .editorconfig
- .gitattributes = .gitattributes
- .gitignore = .gitignore
- .runsettings = .runsettings
- azure-pipelines.yml = azure-pipelines.yml
- Directory.Build.props = Directory.Build.props
- Directory.Build.targets = Directory.Build.targets
- toolkit.snk = toolkit.snk
- version.json = version.json
- EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm", "src\CommunityToolkit.Mvvm\CommunityToolkit.Mvvm.csproj", "{D82AE6E1-E612-434E-ACB2-363EE48738D3}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.HighPerformance", "src\CommunityToolkit.HighPerformance\CommunityToolkit.HighPerformance.csproj", "{7E30D48C-4CD8-47BE-B557-10A20391DCC4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.HighPerformance.UnitTests", "tests\CommunityToolkit.HighPerformance.UnitTests\CommunityToolkit.HighPerformance.UnitTests.csproj", "{D9BDBC68-3D0A-47FC-9C88-0BF769101644}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{88C6FFBE-322D-4CEA-842B-B2CB281D357D}"
- ProjectSection(SolutionItems) = preProject
- CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md
- Contributing.md = Contributing.md
- License.md = License.md
- README.md = README.md
- ThirdPartyNotices.txt = ThirdPartyNotices.txt
- EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Diagnostics", "src\CommunityToolkit.Diagnostics\CommunityToolkit.Diagnostics.csproj", "{76F89522-CA28-458D-801D-947AB033A758}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn401", "src\CommunityToolkit.Mvvm.SourceGenerators.Roslyn401\CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.csproj", "{E24D1146-5AD8-498F-A518-4890D8BF4937}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Diagnostics.UnitTests", "tests\CommunityToolkit.Diagnostics.UnitTests\CommunityToolkit.Diagnostics.UnitTests.csproj", "{35E48D4D-6433-4B70-98A9-BA544921EE04}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Common.UnitTests", "tests\CommunityToolkit.Common.UnitTests\CommunityToolkit.Common.UnitTests.csproj", "{17522D0B-CA70-40B6-AFD8-8B8D45E75D92}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{CD16E790-7B7B-411E-9CE7-768E759CC22D}"
- ProjectSection(SolutionItems) = preProject
- build\Community.Toolkit.Common.props = build\Community.Toolkit.Common.props
- build\Community.Toolkit.Common.targets = build\Community.Toolkit.Common.targets
- build\header.txt = build\header.txt
- build\nuget.png = build\nuget.png
- build\Sign-Package.ps1 = build\Sign-Package.ps1
- build\SignClientSettings.json = build\SignClientSettings.json
- build\Update-Headers.ps1 = build\Update-Headers.ps1
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Configuration", "Configuration", "{6640D447-C28D-4DBB-91F4-3ADCE0CA64AD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests", "tests\CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests\CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj", "{9E09DA49-4389-4ECE-8B68-EBDB1221DA90}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.Internals.UnitTests", "tests\CommunityToolkit.Mvvm.Internals.UnitTests\CommunityToolkit.Mvvm.Internals.UnitTests.csproj", "{743D74BA-12AE-4639-AD77-B9DDA9C03255}"
-EndProject
-Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommunityToolkit.Mvvm.SourceGenerators", "src\CommunityToolkit.Mvvm.SourceGenerators\CommunityToolkit.Mvvm.SourceGenerators.shproj", "{5E7F1212-A54B-40CA-98C5-1FF5CD1A1638}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn431", "src\CommunityToolkit.Mvvm.SourceGenerators.Roslyn431\CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.csproj", "{DF455C40-B18E-4890-8758-7CCCB5CA7052}"
-EndProject
-Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommunityToolkit.Mvvm.UnitTests", "tests\CommunityToolkit.Mvvm.UnitTests\CommunityToolkit.Mvvm.UnitTests.shproj", "{B8DCD82E-B53B-4249-AD4E-F9B99ACB9334}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.Roslyn401.UnitTests", "tests\CommunityToolkit.Mvvm.Roslyn401.UnitTests\CommunityToolkit.Mvvm.Roslyn401.UnitTests.csproj", "{AD9C3223-8E37-4FD4-A0D4-A45119551D3A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.Roslyn431.UnitTests", "tests\CommunityToolkit.Mvvm.Roslyn431.UnitTests\CommunityToolkit.Mvvm.Roslyn431.UnitTests.csproj", "{5B44F7F1-DCA2-4776-924E-A266F7BBF753}"
-EndProject
-Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommunityToolkit.Mvvm.SourceGenerators.UnitTests", "tests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests.shproj", "{FB59CE88-7732-4A63-B5BD-AC5681B7DA1A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests", "tests\CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests.csproj", "{F3799252-7A66-4533-89D8-B3C312052D95}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests", "tests\CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests.csproj", "{FE3EA695-EA0F-4E5F-9257-E059AAA23B10}"
-EndProject
-Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "CommunityToolkit.Mvvm.ExternalAssembly", "tests\CommunityToolkit.Mvvm.ExternalAssembly\CommunityToolkit.Mvvm.ExternalAssembly.shproj", "{E827A9CD-405F-43E4-84C7-68CC7E845CDC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401", "tests\CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401\CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401.csproj", "{ECFE93AA-4B98-4292-B3FA-9430D513B4F9}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431", "tests\CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431\CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431.csproj", "{4FCD501C-1BB5-465C-AD19-356DAB6600C6}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|ARM = Debug|ARM
- Debug|ARM64 = Debug|ARM64
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|ARM = Release|ARM
- Release|ARM64 = Release|ARM64
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|ARM.Build.0 = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|ARM64.Build.0 = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|x64.ActiveCfg = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|x64.Build.0 = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|x86.ActiveCfg = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Debug|x86.Build.0 = Debug|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|Any CPU.Build.0 = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|ARM.ActiveCfg = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|ARM.Build.0 = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|ARM64.ActiveCfg = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|ARM64.Build.0 = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|x64.ActiveCfg = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|x64.Build.0 = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|x86.ActiveCfg = Release|Any CPU
- {6FE128A8-CEFA-4A61-A987-EC92DE6B538E}.Release|x86.Build.0 = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|ARM.Build.0 = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|ARM64.Build.0 = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|x64.ActiveCfg = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|x64.Build.0 = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|x86.ActiveCfg = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Debug|x86.Build.0 = Debug|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|Any CPU.Build.0 = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|ARM.ActiveCfg = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|ARM.Build.0 = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|ARM64.ActiveCfg = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|ARM64.Build.0 = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|x64.ActiveCfg = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|x64.Build.0 = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|x86.ActiveCfg = Release|Any CPU
- {D82AE6E1-E612-434E-ACB2-363EE48738D3}.Release|x86.Build.0 = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|ARM.Build.0 = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|ARM64.Build.0 = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|x64.ActiveCfg = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|x64.Build.0 = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|x86.ActiveCfg = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Debug|x86.Build.0 = Debug|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|Any CPU.Build.0 = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|ARM.ActiveCfg = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|ARM.Build.0 = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|ARM64.ActiveCfg = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|ARM64.Build.0 = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|x64.ActiveCfg = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|x64.Build.0 = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|x86.ActiveCfg = Release|Any CPU
- {7E30D48C-4CD8-47BE-B557-10A20391DCC4}.Release|x86.Build.0 = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|ARM.Build.0 = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|ARM64.Build.0 = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|x64.ActiveCfg = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|x64.Build.0 = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|x86.ActiveCfg = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Debug|x86.Build.0 = Debug|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|Any CPU.Build.0 = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|ARM.ActiveCfg = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|ARM.Build.0 = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|ARM64.ActiveCfg = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|ARM64.Build.0 = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|x64.ActiveCfg = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|x64.Build.0 = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|x86.ActiveCfg = Release|Any CPU
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644}.Release|x86.Build.0 = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|ARM.Build.0 = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|ARM64.Build.0 = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|x64.ActiveCfg = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|x64.Build.0 = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|x86.ActiveCfg = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Debug|x86.Build.0 = Debug|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|Any CPU.Build.0 = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|ARM.ActiveCfg = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|ARM.Build.0 = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|ARM64.ActiveCfg = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|ARM64.Build.0 = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|x64.ActiveCfg = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|x64.Build.0 = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|x86.ActiveCfg = Release|Any CPU
- {76F89522-CA28-458D-801D-947AB033A758}.Release|x86.Build.0 = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|ARM.Build.0 = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|ARM64.Build.0 = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|x64.ActiveCfg = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|x64.Build.0 = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|x86.ActiveCfg = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Debug|x86.Build.0 = Debug|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|Any CPU.Build.0 = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|ARM.ActiveCfg = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|ARM.Build.0 = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|ARM64.ActiveCfg = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|ARM64.Build.0 = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|x64.ActiveCfg = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|x64.Build.0 = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|x86.ActiveCfg = Release|Any CPU
- {E24D1146-5AD8-498F-A518-4890D8BF4937}.Release|x86.Build.0 = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|ARM.Build.0 = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|ARM64.Build.0 = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|x64.ActiveCfg = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|x64.Build.0 = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|x86.ActiveCfg = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Debug|x86.Build.0 = Debug|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|Any CPU.Build.0 = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|ARM.ActiveCfg = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|ARM.Build.0 = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|ARM64.ActiveCfg = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|ARM64.Build.0 = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|x64.ActiveCfg = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|x64.Build.0 = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|x86.ActiveCfg = Release|Any CPU
- {35E48D4D-6433-4B70-98A9-BA544921EE04}.Release|x86.Build.0 = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|ARM.Build.0 = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|ARM64.Build.0 = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|x64.ActiveCfg = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|x64.Build.0 = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|x86.ActiveCfg = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Debug|x86.Build.0 = Debug|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|Any CPU.Build.0 = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|ARM.ActiveCfg = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|ARM.Build.0 = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|ARM64.ActiveCfg = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|ARM64.Build.0 = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|x64.ActiveCfg = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|x64.Build.0 = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|x86.ActiveCfg = Release|Any CPU
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92}.Release|x86.Build.0 = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|ARM.Build.0 = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|ARM64.Build.0 = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|x64.ActiveCfg = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|x64.Build.0 = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|x86.ActiveCfg = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Debug|x86.Build.0 = Debug|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|Any CPU.Build.0 = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|ARM.ActiveCfg = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|ARM.Build.0 = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|ARM64.ActiveCfg = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|ARM64.Build.0 = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|x64.ActiveCfg = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|x64.Build.0 = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|x86.ActiveCfg = Release|Any CPU
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90}.Release|x86.Build.0 = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|ARM.Build.0 = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|ARM64.Build.0 = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|x64.ActiveCfg = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|x64.Build.0 = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|x86.ActiveCfg = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Debug|x86.Build.0 = Debug|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|Any CPU.Build.0 = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|ARM.ActiveCfg = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|ARM.Build.0 = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|ARM64.ActiveCfg = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|ARM64.Build.0 = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|x64.ActiveCfg = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|x64.Build.0 = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|x86.ActiveCfg = Release|Any CPU
- {743D74BA-12AE-4639-AD77-B9DDA9C03255}.Release|x86.Build.0 = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|ARM.Build.0 = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|ARM64.Build.0 = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|x64.Build.0 = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Debug|x86.Build.0 = Debug|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|Any CPU.Build.0 = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|ARM.ActiveCfg = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|ARM.Build.0 = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|ARM64.ActiveCfg = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|ARM64.Build.0 = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|x64.ActiveCfg = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|x64.Build.0 = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|x86.ActiveCfg = Release|Any CPU
- {DF455C40-B18E-4890-8758-7CCCB5CA7052}.Release|x86.Build.0 = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|ARM.Build.0 = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|ARM64.Build.0 = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|x64.ActiveCfg = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|x64.Build.0 = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|x86.ActiveCfg = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Debug|x86.Build.0 = Debug|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|Any CPU.Build.0 = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|ARM.ActiveCfg = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|ARM.Build.0 = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|ARM64.ActiveCfg = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|ARM64.Build.0 = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|x64.ActiveCfg = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|x64.Build.0 = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|x86.ActiveCfg = Release|Any CPU
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A}.Release|x86.Build.0 = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|ARM.Build.0 = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|ARM64.Build.0 = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|x64.ActiveCfg = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|x64.Build.0 = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|x86.ActiveCfg = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Debug|x86.Build.0 = Debug|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|Any CPU.Build.0 = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|ARM.ActiveCfg = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|ARM.Build.0 = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|ARM64.ActiveCfg = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|ARM64.Build.0 = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|x64.ActiveCfg = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|x64.Build.0 = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|x86.ActiveCfg = Release|Any CPU
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753}.Release|x86.Build.0 = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|ARM.Build.0 = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|ARM64.Build.0 = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|x64.ActiveCfg = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|x64.Build.0 = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|x86.ActiveCfg = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Debug|x86.Build.0 = Debug|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|Any CPU.Build.0 = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|ARM.ActiveCfg = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|ARM.Build.0 = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|ARM64.ActiveCfg = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|ARM64.Build.0 = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|x64.ActiveCfg = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|x64.Build.0 = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|x86.ActiveCfg = Release|Any CPU
- {F3799252-7A66-4533-89D8-B3C312052D95}.Release|x86.Build.0 = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|ARM.Build.0 = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|ARM64.Build.0 = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|x64.ActiveCfg = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|x64.Build.0 = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|x86.ActiveCfg = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Debug|x86.Build.0 = Debug|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|Any CPU.Build.0 = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|ARM.ActiveCfg = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|ARM.Build.0 = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|ARM64.ActiveCfg = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|ARM64.Build.0 = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|x64.ActiveCfg = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|x64.Build.0 = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|x86.ActiveCfg = Release|Any CPU
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10}.Release|x86.Build.0 = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|ARM.Build.0 = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|ARM64.Build.0 = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|x64.ActiveCfg = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|x64.Build.0 = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|x86.ActiveCfg = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Debug|x86.Build.0 = Debug|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|Any CPU.Build.0 = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|ARM.ActiveCfg = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|ARM.Build.0 = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|ARM64.ActiveCfg = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|ARM64.Build.0 = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|x64.ActiveCfg = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|x64.Build.0 = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|x86.ActiveCfg = Release|Any CPU
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9}.Release|x86.Build.0 = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|ARM.Build.0 = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|ARM64.Build.0 = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|x64.ActiveCfg = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|x64.Build.0 = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|x86.ActiveCfg = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Debug|x86.Build.0 = Debug|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|Any CPU.Build.0 = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|ARM.ActiveCfg = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|ARM.Build.0 = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|ARM64.ActiveCfg = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|ARM64.Build.0 = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|x64.ActiveCfg = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|x64.Build.0 = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|x86.ActiveCfg = Release|Any CPU
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6}.Release|x86.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {D9BDBC68-3D0A-47FC-9C88-0BF769101644} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {88C6FFBE-322D-4CEA-842B-B2CB281D357D} = {CFA75BE0-5A44-45DE-8114-426A605B062B}
- {35E48D4D-6433-4B70-98A9-BA544921EE04} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {17522D0B-CA70-40B6-AFD8-8B8D45E75D92} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {CD16E790-7B7B-411E-9CE7-768E759CC22D} = {CFA75BE0-5A44-45DE-8114-426A605B062B}
- {6640D447-C28D-4DBB-91F4-3ADCE0CA64AD} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {9E09DA49-4389-4ECE-8B68-EBDB1221DA90} = {6640D447-C28D-4DBB-91F4-3ADCE0CA64AD}
- {743D74BA-12AE-4639-AD77-B9DDA9C03255} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {B8DCD82E-B53B-4249-AD4E-F9B99ACB9334} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {AD9C3223-8E37-4FD4-A0D4-A45119551D3A} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {5B44F7F1-DCA2-4776-924E-A266F7BBF753} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {FB59CE88-7732-4A63-B5BD-AC5681B7DA1A} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {F3799252-7A66-4533-89D8-B3C312052D95} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {FE3EA695-EA0F-4E5F-9257-E059AAA23B10} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {E827A9CD-405F-43E4-84C7-68CC7E845CDC} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {ECFE93AA-4B98-4292-B3FA-9430D513B4F9} = {B30036C4-D514-4E5B-A323-587A061772CE}
- {4FCD501C-1BB5-465C-AD19-356DAB6600C6} = {B30036C4-D514-4E5B-A323-587A061772CE}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {5403B0C4-F244-4F73-A35C-FE664D0F4345}
- EndGlobalSection
- GlobalSection(SharedMSBuildProjectFiles) = preSolution
- tests\CommunityToolkit.Mvvm.ExternalAssembly\CommunityToolkit.Mvvm.ExternalAssembly.projitems*{4fcd501c-1bb5-465c-ad19-356dab6600c6}*SharedItemsImports = 5
- tests\CommunityToolkit.Mvvm.UnitTests\CommunityToolkit.Mvvm.UnitTests.projitems*{5b44f7f1-dca2-4776-924e-a266f7bbf753}*SharedItemsImports = 5
- src\CommunityToolkit.Mvvm.SourceGenerators\CommunityToolkit.Mvvm.SourceGenerators.projitems*{5e7f1212-a54b-40ca-98c5-1ff5cd1a1638}*SharedItemsImports = 13
- tests\CommunityToolkit.Mvvm.UnitTests\CommunityToolkit.Mvvm.UnitTests.projitems*{ad9c3223-8e37-4fd4-a0d4-a45119551d3a}*SharedItemsImports = 5
- tests\CommunityToolkit.Mvvm.UnitTests\CommunityToolkit.Mvvm.UnitTests.projitems*{b8dcd82e-b53b-4249-ad4e-f9b99acb9334}*SharedItemsImports = 13
- src\CommunityToolkit.Mvvm.SourceGenerators\CommunityToolkit.Mvvm.SourceGenerators.projitems*{df455c40-b18e-4890-8758-7cccb5ca7052}*SharedItemsImports = 5
- src\CommunityToolkit.Mvvm.SourceGenerators\CommunityToolkit.Mvvm.SourceGenerators.projitems*{e24d1146-5ad8-498f-a518-4890d8bf4937}*SharedItemsImports = 5
- tests\CommunityToolkit.Mvvm.ExternalAssembly\CommunityToolkit.Mvvm.ExternalAssembly.projitems*{e827a9cd-405f-43e4-84c7-68cc7e845cdc}*SharedItemsImports = 13
- tests\CommunityToolkit.Mvvm.ExternalAssembly\CommunityToolkit.Mvvm.ExternalAssembly.projitems*{ecfe93aa-4b98-4292-b3fa-9430d513b4f9}*SharedItemsImports = 5
- tests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests.projitems*{f3799252-7a66-4533-89d8-b3c312052d95}*SharedItemsImports = 5
- tests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests.projitems*{fb59ce88-7732-4a63-b5bd-ac5681b7da1a}*SharedItemsImports = 13
- tests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests\CommunityToolkit.Mvvm.SourceGenerators.UnitTests.projitems*{fe3ea695-ea0f-4e5f-9257-e059aaa23b10}*SharedItemsImports = 5
- EndGlobalSection
-EndGlobal
diff --git a/eng/AssemblyInfo.Shared.cs b/eng/AssemblyInfo.Shared.cs
new file mode 100644
index 000000000..db0396925
--- /dev/null
+++ b/eng/AssemblyInfo.Shared.cs
@@ -0,0 +1,16 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+// This file contains assembly and module attributes that is shared across projects.
+// Include it in `Directory.Build.targets` near to all projects that need this file.
+
+using System.Runtime.CompilerServices;
+
+/*
+ Using `[module: SkipLocalsInit]` suppresses the .init flag for local variables for the entire module.
+ This doesn't affect the correctness of the methods in this assembly, as none of them are relying on
+ JIT ensuring that all local memory is zeroed out to work. Doing this can provide some minor
+ performance benefits, depending on the workload.
+*/
+[module: SkipLocalsInit]
diff --git a/build/nuget.png b/eng/Icon.png
similarity index 100%
rename from build/nuget.png
rename to eng/Icon.png
diff --git a/build/Sign-Package.ps1 b/eng/Sign-Package.ps1
similarity index 100%
rename from build/Sign-Package.ps1
rename to eng/Sign-Package.ps1
diff --git a/build/SignClientSettings.json b/eng/SignClientSettings.json
similarity index 100%
rename from build/SignClientSettings.json
rename to eng/SignClientSettings.json
diff --git a/eng/Toolkit.Common.props b/eng/Toolkit.Common.props
new file mode 100644
index 000000000..d272cf8c5
--- /dev/null
+++ b/eng/Toolkit.Common.props
@@ -0,0 +1,42 @@
+
+
+
+ true
+ $(TF_BUILD)
+ $(ContinuousIntegrationBuild)
+
+
+
+ Enable
+ 11.0
+ true
+
+
+
+
+ $(NoWarn);CS8500
+
+
+
+ true
+ $(MSBuildThisFileDirectory)toolkit.snk
+ $(MSBuildThisFileDirectory)toolkit.spk
+ $([System.IO.File]::ReadAllText($(AssemblySignPublicKeyFile)))
+
+
+
+
+ True
+ Roslyn
+
+ 4.0;4.1;4.2;4.3;4.4;4.5
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.Common.targets b/eng/Toolkit.Common.targets
new file mode 100644
index 000000000..e82e4b835
--- /dev/null
+++ b/eng/Toolkit.Common.targets
@@ -0,0 +1,50 @@
+
+
+
+ Microsoft
+ Microsoft
+ .NET Community Toolkit
+ .NET;Community;Toolkit;dotnet
+ MIT
+ true
+ (c) .NET Foundation and Contributors. All rights reserved.
+ https://github.com/CommunityToolkit/dotnet
+ https://github.com/CommunityToolkit/dotnet/releases
+ Icon.png
+
+
+
+ $(Product) Asset
+ $(CommonTags);$(PackageTags)
+ $(CommonTags)
+
+
+
+
+
+
+
+
+
+
+ <_ToolkitTargetFrameworkVersion>$([MSBuild]::GetTargetFrameworkVersion($(TargetFramework)))
+ <_NET_6_OR_GREATER>$([MSBuild]::VersionGreaterThanOrEquals($(_ToolkitTargetFrameworkVersion), '6.0'))
+
+
+
+
+
+
+
+ $(DefineConstants);@(_ImplicitDefineConstant)
+ $(FinalDefineConstants),@(_ImplicitDefineConstant->'%(Identity)=-1', ',')
+
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.CompilerTargeting.props b/eng/Toolkit.CompilerTargeting.props
new file mode 100644
index 000000000..70a4f60d3
--- /dev/null
+++ b/eng/Toolkit.CompilerTargeting.props
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+ <_ShortCompilerIdentifier>$(TargetCompilerIdentifier.ToLowerInvariant())
+
+
+ <_CompilerNameInProjectNameIndex>$(MSBuildProjectName.IndexOf($(TargetCompilerIdentifier)))
+ <_ShortCompilerVersion Condition="$(_CompilerNameInProjectNameIndex) != -1">$(MSBuildProjectName.Substring($([MSBuild]::Add($(_CompilerNameInProjectNameIndex), $(TargetCompilerIdentifier.Length))), 2))
+
+
+ $(_ShortCompilerVersion[0]).$(_ShortCompilerVersion[1])
+
+
+ 4.0
+
+
+ $(_ShortCompilerIdentifier)$(TargetCompilerVersion)
+
+
+
+
+ cs
+ fs
+ vb
+
+
+
+
+ $(MSBuildProjectName.Replace('.$(TargetCompilerIdentifier)$(_ShortCompilerVersion)', ''))
+ $(ProjectName)
+ $(ProjectName)
+
+
+
+
+ $([System.IO.Path]::Combine('obj', '$(TargetCompiler)'))
+
+
+
+
+ $(MSBuildThisFileDirectory)Toolkit.CompilerTargeting.targets
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.CompilerTargeting.targets b/eng/Toolkit.CompilerTargeting.targets
new file mode 100644
index 000000000..3a1d95340
--- /dev/null
+++ b/eng/Toolkit.CompilerTargeting.targets
@@ -0,0 +1,63 @@
+
+
+
+ $([System.IO.Path]::Combine('$(BaseOutputPath)', 'TestResults'))
+
+
+
+
+
+
+ $(OutputPath.Replace('$(TargetFramework)', '$(TargetFramework)-$(TargetCompiler)'))
+ $(IntermediateOutputPath.Replace('$(TargetFramework)', '$(TargetFramework)-$(TargetCompiler)'))
+ $(DocumentationFile.Replace('$(TargetFramework)', '$(TargetFramework)-$(TargetCompiler)'))
+ $([System.IO.Path]::Combine('$(VSTestResultsDirectory)', '$(TargetCompiler)'))
+ $(PublishDir.Replace('$(TargetFramework)', '$(TargetFramework)-$(TargetCompiler)'))
+
+
+
+
+
+
+ <_ImplicitCompilerIdentifierDefine>$(TargetCompilerIdentifier.ToUpperInvariant())
+
+ <_EnableImplicitMultiVersionDefines Condition="'$(SupportedCompilerVersions)' != '' AND $(SupportedCompilerVersions.Contains(';'))" >true
+
+ <_ImplicitCompilerVersionDefine Condition="'$(_ShortCompilerVersion)' != '' AND '$(_EnableImplicitMultiVersionDefines)' != 'true'">$(_ImplicitCompilerIdentifierDefine)_$(TargetCompilerVersion.Replace('.', '_'))
+
+
+
+
+
+ <_ImplicitDefineConstant Include="$(_ImplicitCompilerIdentifierDefine)" />
+ <_ImplicitDefineConstant Include="$(_ImplicitCompilerVersionDefine)" Condition="'$(_ImplicitCompilerVersionDefine)' != ''" />
+
+ <_SupportedCompilerVersion Include="$(SupportedCompilerVersions)" Condition="'$(_EnableImplicitMultiVersionDefines)' == 'true'" />
+
+
+
+
+
+
+
+
+
+ <_ImplicitCompilerVersionDefine Include="@(TargetCompilerVersion->Replace('.', '_')->'$(_ImplicitCompilerIdentifierDefine)_%(Identity)_OR_GREATER')" />
+ <_ImplicitDefineConstant Include="@(_ImplicitCompilerVersionDefine)" />
+
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.CustomAfterCommon.targets b/eng/Toolkit.CustomAfterCommon.targets
new file mode 100644
index 000000000..a46ddbd8c
--- /dev/null
+++ b/eng/Toolkit.CustomAfterCommon.targets
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.GetBuildOutputs.targets b/eng/Toolkit.GetBuildOutputs.targets
new file mode 100644
index 000000000..25aa00415
--- /dev/null
+++ b/eng/Toolkit.GetBuildOutputs.targets
@@ -0,0 +1,53 @@
+
+
+
+
+ <_GetBuildOutputsDependsOn>BuiltProjectOutputGroup;DocumentationProjectOutputGroup
+ <_GetBuildOutputsDependsOn Condition="'$(IncludeSymbols)' != 'false'">$(_GetBuildOutputsDependsOn);DebugSymbolsProjectOutputGroup
+ <_GetBuildOutputsDependsOn Condition="'$(IncludeSatelliteAssemblies)' != 'false'">$(_GetBuildOutputsDependsOn);SatelliteDllsProjectOutputGroup
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.Packaging.props b/eng/Toolkit.Packaging.props
new file mode 100644
index 000000000..88acb5206
--- /dev/null
+++ b/eng/Toolkit.Packaging.props
@@ -0,0 +1,16 @@
+
+
+
+
+
+ False
+ \
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.Packaging.targets b/eng/Toolkit.Packaging.targets
new file mode 100644
index 000000000..6491b60c4
--- /dev/null
+++ b/eng/Toolkit.Packaging.targets
@@ -0,0 +1,90 @@
+
+
+
+
+ _GetNonReferencingProjectBuildOutputs;_AddGlobalPackageFilesToNuGetPack;$(GenerateNuSpecDependsOn)
+ _AddPackageFilesPerTargetFrameworkToNuGetPack
+
+
+
+
+
+
+
+ <_PackageFiles Include="@(PackageFile)" Exclude="@(PackageFile->WithMetadataValue('IsSpecific', 'true'))" Condition="'%(PackageFile.Pack)' != 'false'">
+ %(PackageFile.TargetPath)
+
+
+
+
+
+
+
+
+
+
+ %(PackageFile.TargetPath)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_NonReferencingProjectPackageFile Include="@(NonReferencingProjectBuildOutput->ClearMetadata())">
+ $([System.IO.Path]::Combine('analyzers', 'dotnet', '%(TargetCompiler)', '%(TargetLanguage)'))
+ $([System.IO.Path]::Combine('tools', '%(TargetFramework)'))
+
+
+ <_NonReferencingProjectPackageFile Remove="@(_NonReferencingProjectPackageFile)" />
+
+
+
+
\ No newline at end of file
diff --git a/eng/Toolkit.TextTemplates.targets b/eng/Toolkit.TextTemplates.targets
new file mode 100644
index 000000000..abf76ca3d
--- /dev/null
+++ b/eng/Toolkit.TextTemplates.targets
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+ TextTemplatingFileGenerator
+ %(Filename).g.cs
+
+
+
+
+
+
+ True
+ True
+ $([System.IO.Path]::ChangeExtension(%(Filename), '.tt'))
+
+
+
+
\ No newline at end of file
diff --git a/toolkit.snk b/eng/toolkit.snk
similarity index 100%
rename from toolkit.snk
rename to eng/toolkit.snk
diff --git a/eng/toolkit.spk b/eng/toolkit.spk
new file mode 100644
index 000000000..174f6f557
--- /dev/null
+++ b/eng/toolkit.spk
@@ -0,0 +1 @@
+002400000480000094000000060200000024000052534131000400000100010041753AF735AE6140C9508567666C51C6AB929806ADB0D210694B30AB142A060237BC741F9682E7D8D4310364B4BBA4EE89CC9D3D5CE7E5583587E8EA44DCA09977996582875E71FB54FA7B170798D853D5D8010B07219633BDB761D01AC924DA44576D6180CDCEAE537973982BB461C541541D58417A3794E34F45E6F2D129E2
\ No newline at end of file
diff --git a/src/CommunityToolkit.Diagnostics/CommunityToolkit.Diagnostics.csproj b/src/CommunityToolkit.Diagnostics/CommunityToolkit.Diagnostics.csproj
index 6cd510f16..c90690c1d 100644
--- a/src/CommunityToolkit.Diagnostics/CommunityToolkit.Diagnostics.csproj
+++ b/src/CommunityToolkit.Diagnostics/CommunityToolkit.Diagnostics.csproj
@@ -14,6 +14,18 @@
Diagnostics;Guard;ThrowHelper;TypeInfo;Extensions;Helpers
+
+
+
+ System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute;
+ System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute;
+ System.Diagnostics.CodeAnalysis.NotNullAttribute;
+ System.Diagnostics.StackTraceHiddenAttribute;
+ System.Runtime.CompilerServices.CallerArgumentExpressionAttribute;
+ System.Runtime.CompilerServices.SkipLocalsInitAttribute;
+
+
+
@@ -31,63 +43,10 @@
-
-
-
- System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute;
- System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute;
- System.Diagnostics.CodeAnalysis.NotNullAttribute;
- System.Diagnostics.StackTraceHiddenAttribute;
- System.Runtime.CompilerServices.CallerArgumentExpressionAttribute;
- System.Runtime.CompilerServices.SkipLocalsInitAttribute;
-
-
-
-
-
- TextTemplatingFileGenerator
- Guard.Comparable.Numeric.g.cs
-
-
- TextTemplatingFileGenerator
- Guard.Collection.g.cs
-
-
- TextTemplatingFileGenerator
- ThrowHelper.Collection.g.cs
-
-
- TextTemplatingFileGenerator
- TypeInfo.g.cs
-
-
-
-
-
-
-
-
-
-
- True
- True
- Guard.Comparable.Numeric.tt
-
-
- True
- True
- Guard.Collection.tt
-
-
- True
- True
- ThrowHelper.Collection.tt
-
-
- True
- True
- TypeInfo.ttinclude
-
-
+
+
\ No newline at end of file
diff --git a/src/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj b/src/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj
index 1639b330d..6a270dd13 100644
--- a/src/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj
+++ b/src/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj
@@ -25,9 +25,23 @@
Parallel;Performance;Unsafe;Span;Memory;String;StringPool;Array;Stream;Buffer;Extensions;Helpers
+
+
+
+ System.Diagnostics.CodeAnalysis.NotNullAttribute;
+ System.Diagnostics.CodeAnalysis.NotNullWhenAttribute;
+ System.Runtime.CompilerServices.SkipLocalsInitAttribute;
+
+
+
+
+
+
+
+
@@ -35,11 +49,6 @@
-
-
-
-
-
@@ -50,13 +59,4 @@
-
-
-
- System.Diagnostics.CodeAnalysis.NotNullAttribute;
- System.Diagnostics.CodeAnalysis.NotNullWhenAttribute;
- System.Runtime.CompilerServices.SkipLocalsInitAttribute;
-
-
-
\ No newline at end of file
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.csproj b/src/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.csproj
deleted file mode 100644
index d19620f52..000000000
--- a/src/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.csproj
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.csproj b/src/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.csproj
deleted file mode 100644
index 3cea30b35..000000000
--- a/src/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.csproj
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.csproj b/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.csproj
new file mode 100644
index 000000000..51b69d2bb
--- /dev/null
+++ b/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.csproj
@@ -0,0 +1,31 @@
+
+
+
+ false
+ netstandard2.0
+
+
+
+
+
+
+ PreserveNewest
+
+ %(Filename)%(Extension)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.csproj b/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.csproj
new file mode 100644
index 000000000..158dea734
--- /dev/null
+++ b/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.csproj
@@ -0,0 +1,31 @@
+
+
+
+ false
+ netstandard2.0
+
+
+
+
+
+
+ PreserveNewest
+
+ %(Filename)%(Extension)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.projitems b/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.projitems
deleted file mode 100644
index 405e84cfd..000000000
--- a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.projitems
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- true
- 5e7f1212-a54b-40ca-98c5-1ff5cd1a1638
-
-
- CommunityToolkit.Mvvm.SourceGenerators
-
-
-
- PreserveNewest
- INotifyPropertyChanged.cs
-
-
- PreserveNewest
- ObservableObject.cs
-
-
- PreserveNewest
- ObservableRecipient.cs
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.props b/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.props
deleted file mode 100644
index c3130e015..000000000
--- a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.props
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
- netstandard2.0
- false
-
-
-
-
-
-
- $(MSBuildProjectName.Substring(0, $([MSBuild]::Subtract($(MSBuildProjectName.Length), 10))))
-
-
- $(MSBuildProjectName.Substring($([MSBuild]::Subtract($(MSBuildProjectName.Length), 3)), 1))
- $(MSBuildProjectName.Substring($([MSBuild]::Subtract($(MSBuildProjectName.Length), 2)), 1))
- $(MSBuildProjectName.Substring($([MSBuild]::Subtract($(MSBuildProjectName.Length), 1)), 1))
- $(MvvmToolkitSourceGeneratorRoslynMajorVersion).$(MvvmToolkitSourceGeneratorRoslynMinorVersion).$(MvvmToolkitSourceGeneratorRoslynPatchVersion)
-
-
- $(DefineConstants);ROSLYN_4_3_1_OR_GREATER
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.shproj b/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.shproj
deleted file mode 100644
index a9dfb1cf5..000000000
--- a/src/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.shproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- 5e7f1212-a54b-40ca-98c5-1ff5cd1a1638
- 14.0
-
-
-
-
-
-
-
-
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/Extensions/ISymbolExtensions.cs b/src/CommunityToolkit.Mvvm.SourceGenerators/Extensions/ISymbolExtensions.cs
index a54073fd1..3c870e57e 100644
--- a/src/CommunityToolkit.Mvvm.SourceGenerators/Extensions/ISymbolExtensions.cs
+++ b/src/CommunityToolkit.Mvvm.SourceGenerators/Extensions/ISymbolExtensions.cs
@@ -3,7 +3,7 @@
// See the LICENSE file in the project root for more information.
using System.Collections.Immutable;
-#if !ROSLYN_4_3_1_OR_GREATER
+#if !ROSLYN_4_3_OR_GREATER
using System.Diagnostics.CodeAnalysis;
#endif
using Microsoft.CodeAnalysis;
@@ -67,7 +67,7 @@ public static bool HasAttributeWithFullyQualifiedMetadataName(this ISymbol symbo
return false;
}
-#if !ROSLYN_4_3_1_OR_GREATER
+#if !ROSLYN_4_3_OR_GREATER
///
/// Tries to get an attribute with the specified fully qualified metadata name.
///
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/GeneratorAttributeSyntaxContext.cs b/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/GeneratorAttributeSyntaxContext.cs
index 0f75fdf40..16a19f571 100644
--- a/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/GeneratorAttributeSyntaxContext.cs
+++ b/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/GeneratorAttributeSyntaxContext.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
-#if !ROSLYN_4_3_1_OR_GREATER
+#if !ROSLYN_4_3_OR_GREATER
using System.Collections.Immutable;
diff --git a/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/SyntaxValueProviderExtensions.cs b/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/SyntaxValueProviderExtensions.cs
index 44a949823..474da134e 100644
--- a/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/SyntaxValueProviderExtensions.cs
+++ b/src/CommunityToolkit.Mvvm.SourceGenerators/Polyfills/SyntaxValueProviderExtensions.cs
@@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
-#if !ROSLYN_4_3_1_OR_GREATER
+#if !ROSLYN_4_3_OR_GREATER
using System.Threading;
using System;
diff --git a/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj b/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj
index 43adfb763..bdeb15f04 100644
--- a/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj
+++ b/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj
@@ -20,31 +20,6 @@
MVVM;Toolkit;MVVMToolkit;INotifyPropertyChanged;Observable;IOC;DI;Dependency Injection;Object Messaging;Extensions;Helpers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -62,20 +37,51 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+ true
+
+
\ No newline at end of file
diff --git a/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets b/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets
index c2fd56e39..ff1a51895 100644
--- a/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets
+++ b/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets
@@ -1,85 +1,93 @@
-
-
+
+
-
+
-
+ DependsOnTargets="MVVMToolkit_GatherAnalyzers">
-
-
-
+
+
+
+
+ @(MVVMToolkit_CurrentCompilerAssemblyIdentity->%(Version))
-
- @(MVVMToolkitCurrentCompilerAssemblyIdentity->'%(Version)')
-
-
- true
+
+ true
-
-
+
+
-
-
+
+
-
+ DependsOnTargets="MVVMToolkit_RemoveAnalyzers_WhenRoslynVersionIsNotSupported">
-
+ -->
- roslyn4.3
- roslyn4.0
+ roslyn4.3
+ roslyn4.0
+
+
-
-
-
+
-
-
+
+ DependsOnTargets="MVVMToolkit_GatherAnalyzers">
-
+
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index f3c2112ae..8023415b2 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -1,11 +1,27 @@
-
+
+
+
+
+
+ true
+ true
+ true
+ $(RepositoryDirectory)bin\nupkg
+ true
+
-
- all
- build; analyzers
-
+
+
+
+
+ $(BuildToolsDirectory)Toolkit.CustomAfterCommon.targets
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index 36dde4ce7..e2ca0d23b 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -1,55 +1,26 @@
-
-
-
-
- NETSTANDARD2_1_OR_GREATER
-
+
-
-
- true
+
+
+
true
+ true
+
+ NETSTANDARD2_1_OR_GREATER
-
-
- $(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]]]>
-
-
+
+
+
+
-
+
+
+
-
-
+
+
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj b/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj
index 3436db962..56e9ee2f4 100644
--- a/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj
+++ b/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj
@@ -4,12 +4,6 @@
net472;net6.0;net7.0
-
-
-
-
-
-
diff --git a/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj b/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj
index c1f33bdb7..fe56e0c58 100644
--- a/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj
+++ b/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj
@@ -4,12 +4,6 @@
net472;net6.0;net7.0
-
-
-
-
-
-
diff --git a/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj b/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj
index cd84ec4af..6023352ec 100644
--- a/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj
+++ b/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj
@@ -10,10 +10,4 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn40.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn40.UnitTests.csproj
new file mode 100644
index 000000000..4fed6163d
--- /dev/null
+++ b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn40.UnitTests.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net472;net6.0;net7.0
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn43.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn43.UnitTests.csproj
new file mode 100644
index 000000000..876022414
--- /dev/null
+++ b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.Roslyn43.UnitTests.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net472;net6.0;net7.0
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj
deleted file mode 100644
index 4a949f099..000000000
--- a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- net472;net6.0;net7.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401.csproj b/tests/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401.csproj
deleted file mode 100644
index ee36d9f08..000000000
--- a/tests/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn401.csproj
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- netstandard2.0
-
-
-
-
- false
- false
- $(NoWarn);CS8002;SA0001
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431.csproj b/tests/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431.csproj
deleted file mode 100644
index 164e42e50..000000000
--- a/tests/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn431.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- netstandard2.0
-
-
-
- false
- false
- $(NoWarn);CS8002;SA0001
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn40.csproj b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn40.csproj
new file mode 100644
index 000000000..35e52c80e
--- /dev/null
+++ b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn40.csproj
@@ -0,0 +1,13 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn43.csproj b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn43.csproj
new file mode 100644
index 000000000..d9216fdf9
--- /dev/null
+++ b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.Roslyn43.csproj
@@ -0,0 +1,13 @@
+
+
+
+ netstandard2.0
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.projitems b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.projitems
deleted file mode 100644
index c4ecf6dc4..000000000
--- a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.projitems
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- true
- e827a9cd-405f-43e4-84c7-68cc7e845cdc
-
-
- CommunityToolkit.Mvvm.ExternalAssembly
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.shproj b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.shproj
deleted file mode 100644
index fd605fe42..000000000
--- a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.shproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- e827a9cd-405f-43e4-84c7-68cc7e845cdc
- 14.0
-
-
-
-
-
-
-
-
diff --git a/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj
index a1cecde7e..a16e385e0 100644
--- a/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj
+++ b/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj
@@ -4,12 +4,6 @@
net472;net6.0;net7.0
-
-
-
-
-
-
diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.UnitTests.csproj
similarity index 52%
rename from tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests.csproj
rename to tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.UnitTests.csproj
index 8bfbf73a2..cacc84300 100644
--- a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn401.UnitTests.csproj
+++ b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn40.UnitTests.csproj
@@ -5,18 +5,13 @@
-
-
-
-
-
+
+
-
-
+
+
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.UnitTests.csproj
similarity index 52%
rename from tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests.csproj
rename to tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.UnitTests.csproj
index f8974ac8f..3c8d75b42 100644
--- a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn431.UnitTests.csproj
+++ b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn43.UnitTests.csproj
@@ -5,18 +5,13 @@
-
-
-
-
-
+
+
-
-
+
+
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.projitems b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.projitems
deleted file mode 100644
index ab60a1c18..000000000
--- a/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.projitems
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- true
- fb59ce88-7732-4a63-b5bd-ac5681b7da1a
-
-
- CommunityToolkit.Mvvm.SourceGenerators.UnitTests
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.shproj b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.shproj
deleted file mode 100644
index 5e904f534..000000000
--- a/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.shproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- fb59ce88-7732-4a63-b5bd-ac5681b7da1a
- 14.0
-
-
-
-
-
-
-
-
diff --git a/tests/CommunityToolkit.Mvvm.Roslyn431.UnitTests/CommunityToolkit.Mvvm.Roslyn431.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.Roslyn40.UnitTests.csproj
similarity index 50%
rename from tests/CommunityToolkit.Mvvm.Roslyn431.UnitTests/CommunityToolkit.Mvvm.Roslyn431.UnitTests.csproj
rename to tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.Roslyn40.UnitTests.csproj
index f3dad9cb7..1fd4912be 100644
--- a/tests/CommunityToolkit.Mvvm.Roslyn431.UnitTests/CommunityToolkit.Mvvm.Roslyn431.UnitTests.csproj
+++ b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.Roslyn40.UnitTests.csproj
@@ -6,20 +6,16 @@
-
-
-
-
-
-
+
+
+
-
-
-
+
+
+
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.Roslyn401.UnitTests/CommunityToolkit.Mvvm.Roslyn401.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.Roslyn43.UnitTests.csproj
similarity index 50%
rename from tests/CommunityToolkit.Mvvm.Roslyn401.UnitTests/CommunityToolkit.Mvvm.Roslyn401.UnitTests.csproj
rename to tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.Roslyn43.UnitTests.csproj
index b4e7b7bba..da70b4faf 100644
--- a/tests/CommunityToolkit.Mvvm.Roslyn401.UnitTests/CommunityToolkit.Mvvm.Roslyn401.UnitTests.csproj
+++ b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.Roslyn43.UnitTests.csproj
@@ -6,20 +6,16 @@
-
-
-
-
-
-
+
+
+
-
-
-
+
+
+
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.projitems b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.projitems
deleted file mode 100644
index 3089c9db3..000000000
--- a/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.projitems
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- true
- b8dcd82e-b53b-4249-ad4e-f9b99acb9334
-
-
- CommunityToolkit.Mvvm.UnitTests
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.shproj b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.shproj
deleted file mode 100644
index b16b0e5e2..000000000
--- a/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.shproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- b8dcd82e-b53b-4249-ad4e-f9b99acb9334
- 14.0
-
-
-
-
-
-
-
-
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
new file mode 100644
index 000000000..61cc2f1b9
--- /dev/null
+++ b/tests/Directory.Build.props
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ false
+ false
+ $(NoWarn);CS8002;SA0001
+
+
+
+ true
+
+ false
+
+
+
\ No newline at end of file
diff --git a/tests/Directory.Build.targets b/tests/Directory.Build.targets
new file mode 100644
index 000000000..e7f220069
--- /dev/null
+++ b/tests/Directory.Build.targets
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file