diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000..5f8f7158
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,41 @@
+root = true
+
+[*.xaml]
+indent_style = space
+indent_size = 2
+end_of_line = crlf
+trim_trailing_spaces = true
+insert_final_newline = true
+charset = utf-8
+
+[*.cs]
+# Standard options
+indent_style = space
+indent_size = 4
+end_of_line = crlf
+trim_trailing_spaces = true
+insert_final_newline = true
+charset = utf-8
+# Roslyn options https://github.com/dotnet/roslyn/pull/15020
+csharp_space_after_cast = false
+csharp_space_after_colon_in_inheritance_clause = true
+csharp_space_after_comma = true
+csharp_space_after_dot = false
+csharp_space_after_keywords_in_control_flow_statements = true
+csharp_space_after_semicolon_in_for_statement = true
+csharp_space_around_binary_operators = before_and_after
+# csharp_space_around_declaration_statements = ???
+csharp_space_before_colon_in_inheritance_clause = true
+csharp_space_before_comma = false
+csharp_space_before_dot = false
+csharp_space_before_semicolon_in_for_statement = false
+csharp_space_before_open_square_brackets = false
+csharp_space_between_empty_square_brackets = false
+csharp_space_between_method_declaration_name_and_open_parenthesis = false
+# csharp_space_between_method_declaration_parameter_list_parentheses = ???
+# csharp_space_between_method_declaration_empty_parameter_list_parentheses = ???
+csharp_space_between_method_call_name_and_opening_parenthesis = false
+csharp_space_between_method_call_parameter_list_parentheses = false
+csharp_space_between_method_call_empty_parameter_list_parentheses = false
+csharp_space_between_square_brackets = false
+# csharp_space_between_parentheses = ...
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..3f472a63
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,20 @@
+# Source code files
+*.cs text
+*.vsixmanifest text
+*.config text
+*.resx text
+*.vstemplate text
+*.nuspec text
+*.md text
+*.txt text
+*.ps1 text
+LICENSE text
+
+# Projects and solutions
+*.sln text
+*.csproj text
+
+# Certainly binary files
+*.png binary
+*.ico binary
+*.snk binary
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..a927eecb
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,56 @@
+# Build output
+bin/
+obj/
+
+# Artifacts of the IDE and build
+*.sln.ide/
+.vs/
+packages/
+*.suo
+*.user
+TestResults/
+OpenCover.Reports/
+.nuget/NuGet.exe
+build/nuget/
+*.log
+
+# Visual Studio performance tools
+*.psess
+*.vsp
+*.vspx
+
+#ignore thumbnails created by windows
+Thumbs.db
+#Ignore files build by Visual Studio
+*.obj
+*.exe
+*.pdb
+*.aps
+*.pch
+*.vspscc
+*_i.c
+*_p.c
+*.ncb
+*.tlb
+*.tlh
+*.bak
+*.cache
+*.ilk
+[Bb]in
+[Dd]ebug*/
+*.lib
+*.sbr
+[Rr]elease*/
+_ReSharper*/
+[Tt]est[Rr]esult*
+
+*.sln.docstates
+*.vssscc
+$tf*/
+*.dll
+packages/*
+publish/*
+PropertyChangedAnalyzers.Demo/*
+.vs/*
+/paket-files/*
+/PropertyChangedAnalyzers.Benchmarks/BenchmarkDotNet.Artifacts/*
diff --git a/ReflectionAnalyzers/ReflectionAnalyzers.Tests/ReflectionAnalyzers.Tests.csproj b/ReflectionAnalyzers/ReflectionAnalyzers.Tests/ReflectionAnalyzers.Tests.csproj
new file mode 100644
index 00000000..7918eef9
--- /dev/null
+++ b/ReflectionAnalyzers/ReflectionAnalyzers.Tests/ReflectionAnalyzers.Tests.csproj
@@ -0,0 +1,5 @@
+
+
+ net461
+
+
diff --git a/ReflectionAnalyzers/ReflectionAnalyzers.sln b/ReflectionAnalyzers/ReflectionAnalyzers.sln
new file mode 100644
index 00000000..e9f315be
--- /dev/null
+++ b/ReflectionAnalyzers/ReflectionAnalyzers.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28010.2026
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectionAnalyzers", "ReflectionAnalyzers\ReflectionAnalyzers.csproj", "{A6CCBEE9-F9BA-49F2-A126-44E0AA687367}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectionAnalyzers.Tests", "ReflectionAnalyzers.Tests\ReflectionAnalyzers.Tests.csproj", "{6101F363-3A45-4A26-B7E2-8052A32B3986}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A6CCBEE9-F9BA-49F2-A126-44E0AA687367}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A6CCBEE9-F9BA-49F2-A126-44E0AA687367}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A6CCBEE9-F9BA-49F2-A126-44E0AA687367}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A6CCBEE9-F9BA-49F2-A126-44E0AA687367}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6101F363-3A45-4A26-B7E2-8052A32B3986}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6101F363-3A45-4A26-B7E2-8052A32B3986}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6101F363-3A45-4A26-B7E2-8052A32B3986}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6101F363-3A45-4A26-B7E2-8052A32B3986}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {FD0A2BC3-7755-443C-966D-3332874DF025}
+ EndGlobalSection
+EndGlobal
diff --git a/ReflectionAnalyzers/ReflectionAnalyzers/ReflectionAnalyzers.csproj b/ReflectionAnalyzers/ReflectionAnalyzers/ReflectionAnalyzers.csproj
new file mode 100644
index 00000000..5486ef5b
--- /dev/null
+++ b/ReflectionAnalyzers/ReflectionAnalyzers/ReflectionAnalyzers.csproj
@@ -0,0 +1,5 @@
+
+
+ netstandard1.3
+
+