diff --git a/makefiles/msvc2017/jsoncpp.sln b/makefiles/msvc2017/jsoncpp.sln
new file mode 100644
index 0000000..c1c3798
--- /dev/null
+++ b/makefiles/msvc2017/jsoncpp.sln
@@ -0,0 +1,43 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.102
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_json", "lib_json.vcxproj", "{B84F7231-16CE-41D8-8C08-7B523FF4225B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsontest", "jsontest.vcxproj", "{25AF2DD2-D396-4668-B188-488C33B8E620}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_lib_json", "test_lib_json.vcxproj", "{B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ dummy|x86 = dummy|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug|x86.ActiveCfg = Debug|Win32
+ {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug|x86.Build.0 = Debug|Win32
+ {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy|x86.ActiveCfg = dummy|Win32
+ {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy|x86.Build.0 = dummy|Win32
+ {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release|x86.ActiveCfg = Release|Win32
+ {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release|x86.Build.0 = Release|Win32
+ {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug|x86.ActiveCfg = Debug|Win32
+ {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug|x86.Build.0 = Debug|Win32
+ {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy|x86.ActiveCfg = Debug|Win32
+ {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy|x86.Build.0 = Debug|Win32
+ {25AF2DD2-D396-4668-B188-488C33B8E620}.Release|x86.ActiveCfg = Release|Win32
+ {25AF2DD2-D396-4668-B188-488C33B8E620}.Release|x86.Build.0 = Release|Win32
+ {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug|x86.ActiveCfg = Debug|Win32
+ {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug|x86.Build.0 = Debug|Win32
+ {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy|x86.ActiveCfg = Debug|Win32
+ {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy|x86.Build.0 = Debug|Win32
+ {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release|x86.ActiveCfg = Release|Win32
+ {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {4EE0C79B-26FE-4FB3-B025-AA18203D1636}
+ EndGlobalSection
+EndGlobal
diff --git a/makefiles/msvc2017/jsontest.vcxproj b/makefiles/msvc2017/jsontest.vcxproj
new file mode 100644
index 0000000..e38401e
--- /dev/null
+++ b/makefiles/msvc2017/jsontest.vcxproj
@@ -0,0 +1,101 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {25AF2DD2-D396-4668-B188-488C33B8E620}
+ Win32Proj
+
+
+
+ Application
+ v141
+ MultiByte
+
+
+ Application
+ v141
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>15.0.28127.55
+
+
+ ../../build/vs71/debug/jsontest\
+ ../../build/vs71/debug/jsontest\
+ true
+
+
+ ../../build/vs71/release/jsontest\
+ ../../build/vs71/release/jsontest\
+ false
+
+
+
+ Disabled
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+ Level3
+ EditAndContinue
+
+
+ $(OutDir)jsontest.exe
+ true
+ $(OutDir)jsontest.pdb
+ Console
+ MachineX86
+
+
+
+
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+
+ Level3
+ ProgramDatabase
+
+
+ $(OutDir)jsontest.exe
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+
+
+
+ {b84f7231-16ce-41d8-8c08-7b523ff4225b}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/makefiles/msvc2017/lib_json.vcxproj b/makefiles/msvc2017/lib_json.vcxproj
new file mode 100644
index 0000000..c13655d
--- /dev/null
+++ b/makefiles/msvc2017/lib_json.vcxproj
@@ -0,0 +1,153 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ dummy
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {B84F7231-16CE-41D8-8C08-7B523FF4225B}
+ Win32Proj
+
+
+
+ DynamicLibrary
+ v141
+ MultiByte
+ true
+
+
+ StaticLibrary
+ v141
+ MultiByte
+ true
+
+
+ StaticLibrary
+ v141
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>15.0.28127.55
+
+
+ ../../build/vs71/debug/lib_json\
+ ../../build/vs71/debug/lib_json\
+
+
+ ../../build/vs71/release/lib_json\
+ ../../build/vs71/release/lib_json\
+
+
+ $(Configuration)\
+ $(Configuration)\
+
+
+
+ Disabled
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ true
+ false
+ true
+
+ Level3
+ EditAndContinue
+
+
+ $(OutDir)json_vc71_libmtd.lib
+
+
+
+
+ true
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+ true
+ false
+ true
+
+ AssemblyAndSourceCode
+ Level3
+ ProgramDatabase
+
+
+ $(OutDir)json_vc71_libmt.lib
+
+
+
+
+ true
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ true
+ true
+ false
+ true
+
+ AssemblyAndSourceCode
+ Level3
+ ProgramDatabase
+
+
+ true
+ Windows
+ true
+ true
+ MachineX86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/makefiles/msvc2017/test_lib_json.vcxproj b/makefiles/msvc2017/test_lib_json.vcxproj
new file mode 100644
index 0000000..75ea771
--- /dev/null
+++ b/makefiles/msvc2017/test_lib_json.vcxproj
@@ -0,0 +1,114 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}
+ test_lib_json
+ Win32Proj
+
+
+
+ Application
+ v141
+ MultiByte
+
+
+ Application
+ v141
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>15.0.28127.55
+
+
+ ../../build/vs71/debug/test_lib_json\
+ ../../build/vs71/debug/test_lib_json\
+ true
+
+
+ ../../build/vs71/release/test_lib_json\
+ ../../build/vs71/release/test_lib_json\
+ false
+
+
+
+ Disabled
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebug
+
+ Level3
+ EditAndContinue
+
+
+ $(OutDir)test_lib_json.exe
+ true
+ $(OutDir)test_lib_json.pdb
+ Console
+ MachineX86
+
+
+ Running all unit tests
+ $(TargetPath)
+
+
+
+
+ ../../include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreaded
+
+ Level3
+ ProgramDatabase
+
+
+ $(OutDir)test_lib_json.exe
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+ Running all unit tests
+ $(TargetPath)
+
+
+
+
+
+
+
+
+
+
+
+ {b84f7231-16ce-41d8-8c08-7b523ff4225b}
+ false
+
+
+
+
+
+
\ No newline at end of file