diff --git a/msvc/.gitignore b/msvc/.gitignore
new file mode 100644
index 0000000..7f63024
--- /dev/null
+++ b/msvc/.gitignore
@@ -0,0 +1,2 @@
+*.user
+*.suo
diff --git a/msvc/props/common.debug.dynamic.props b/msvc/props/common.debug.dynamic.props
new file mode 100644
index 0000000..a0ad1b6
--- /dev/null
+++ b/msvc/props/common.debug.dynamic.props
@@ -0,0 +1,14 @@
+
+
+
+
+
+ pugixmld
+
+
+
+ MultiThreadedDebugDLL
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/common.debug.props b/msvc/props/common.debug.props
new file mode 100644
index 0000000..cdea1aa
--- /dev/null
+++ b/msvc/props/common.debug.props
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/common.debug.static.props b/msvc/props/common.debug.static.props
new file mode 100644
index 0000000..eebb88a
--- /dev/null
+++ b/msvc/props/common.debug.static.props
@@ -0,0 +1,14 @@
+
+
+
+
+
+ pugixmlsd
+
+
+
+ MultiThreadedDebug
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/common.props b/msvc/props/common.props
new file mode 100644
index 0000000..170ef39
--- /dev/null
+++ b/msvc/props/common.props
@@ -0,0 +1,22 @@
+
+
+
+
+
+ vc.$(PlatformToolset)\$(Platform)\$(Configuration)$(PUGI_Rtl_Type)\
+ vc.$(PlatformToolset)\$(Platform)\
+
+
+
+ ProgramDatabase
+ Level3
+ false
+ true
+
+
+ true
+ Windows
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/common.release.dynamic.props b/msvc/props/common.release.dynamic.props
new file mode 100644
index 0000000..954359f
--- /dev/null
+++ b/msvc/props/common.release.dynamic.props
@@ -0,0 +1,14 @@
+
+
+
+
+
+ pugixml
+
+
+
+ MultiThreadedDLL
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/common.release.props b/msvc/props/common.release.props
new file mode 100644
index 0000000..e7c61d6
--- /dev/null
+++ b/msvc/props/common.release.props
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+ Full
+ NDEBUG;%(PreprocessorDefinitions)
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+
+
+ true
+ true
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/common.release.static.props b/msvc/props/common.release.static.props
new file mode 100644
index 0000000..33d3014
--- /dev/null
+++ b/msvc/props/common.release.static.props
@@ -0,0 +1,14 @@
+
+
+
+
+
+ pugixmls
+
+
+
+ MultiThreaded
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/common.win32.props b/msvc/props/common.win32.props
new file mode 100644
index 0000000..73bc6ee
--- /dev/null
+++ b/msvc/props/common.win32.props
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/msvc/props/common.x64.props b/msvc/props/common.x64.props
new file mode 100644
index 0000000..73bc6ee
--- /dev/null
+++ b/msvc/props/common.x64.props
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/msvc/props/msvc140.debug.props b/msvc/props/msvc140.debug.props
new file mode 100644
index 0000000..73bc6ee
--- /dev/null
+++ b/msvc/props/msvc140.debug.props
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/msvc/props/msvc140.props b/msvc/props/msvc140.props
new file mode 100644
index 0000000..5f219d4
--- /dev/null
+++ b/msvc/props/msvc140.props
@@ -0,0 +1,17 @@
+
+
+
+
+
+ pugixml
+ vc.$(PlatformToolset)\$(Platform)_$(Configuration)_$(PUGI_Rtl_Type)\
+ vc.$(PlatformToolset)\$(Platform)_$(Configuration)_$(PUGI_Rtl_Type)\
+
+
+
+ OldStyle
+ _LIB;%(PreprocessorDefinitions)
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/msvc140.release.props b/msvc/props/msvc140.release.props
new file mode 100644
index 0000000..46af770
--- /dev/null
+++ b/msvc/props/msvc140.release.props
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+ MaxSpeed
+ true
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/msvc140.win32.props b/msvc/props/msvc140.win32.props
new file mode 100644
index 0000000..9e37a7b
--- /dev/null
+++ b/msvc/props/msvc140.win32.props
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+ WIN32;%(PreprocessorDefinitions)
+
+
+
+
\ No newline at end of file
diff --git a/msvc/props/msvc140.x64.props b/msvc/props/msvc140.x64.props
new file mode 100644
index 0000000..73bc6ee
--- /dev/null
+++ b/msvc/props/msvc140.x64.props
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/msvc/pugixml.props b/msvc/pugixml.props
new file mode 100644
index 0000000..1e1fcae
--- /dev/null
+++ b/msvc/pugixml.props
@@ -0,0 +1,57 @@
+
+
+
+
+
+ Static
+ Dynamic
+
+
+
+
+ $(ProjectDir)props\common
+ $(ProjectDir)props\msvc$(PlatformToolsetVersion)
+
+
+
+
+
+ $(PUGI_CommonPropsPrefix).props
+ $(PUGI_CommonPropsPrefix).$(Configuration.ToLower()).props
+ $(PUGI_CommonPropsPrefix).$(Platform.ToLower()).props
+ $(PUGI_CommonPropsPrefix).$(Configuration.ToLower()).$(PUGI_Rtl_Type.ToLower()).props
+
+
+
+
+ $(PUGI_VcverPropsPrefix).props
+ $(PUGI_VcverPropsPrefix).$(Configuration.ToLower()).props
+ $(PUGI_VcverPropsPrefix).$(Platform.ToLower()).props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/msvc/pugixml.s.props b/msvc/pugixml.s.props
new file mode 100644
index 0000000..c920022
--- /dev/null
+++ b/msvc/pugixml.s.props
@@ -0,0 +1,14 @@
+
+
+
+
+ True
+
+
+
+
+
+ $(PUGI_Use_Static_Rtl)
+
+
+
\ No newline at end of file
diff --git a/msvc/pugixml_vs2010.sln b/msvc/pugixml_vs2010.sln
new file mode 100644
index 0000000..3981428
--- /dev/null
+++ b/msvc/pugixml_vs2010.sln
@@ -0,0 +1,36 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2010", "pugixml_vs2010.vcxproj", "{89A1E353-E2DC-495C-B403-742BE206ACED}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2010_static", "pugixml_vs2010_static.vcxproj", "{068BB22F-F8D8-417F-AA4A-41795D4594C6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|Win32.ActiveCfg = Debug|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|Win32.Build.0 = Debug|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|x64.ActiveCfg = Debug|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|x64.Build.0 = Debug|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|Win32.ActiveCfg = Release|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|Win32.Build.0 = Release|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|x64.ActiveCfg = Release|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|x64.Build.0 = Release|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|Win32.Build.0 = Debug|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|x64.ActiveCfg = Debug|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|x64.Build.0 = Debug|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|Win32.ActiveCfg = Release|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|Win32.Build.0 = Release|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|x64.ActiveCfg = Release|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/msvc/pugixml_vs2010.vcxproj b/msvc/pugixml_vs2010.vcxproj
new file mode 100644
index 0000000..1e08ac7
--- /dev/null
+++ b/msvc/pugixml_vs2010.vcxproj
@@ -0,0 +1,86 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {89A1E353-E2DC-495C-B403-742BE206ACED}
+ pugixml
+ Win32Proj
+
+
+
+ StaticLibrary
+ MultiByte
+ true
+
+
+ StaticLibrary
+ MultiByte
+ true
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/msvc/pugixml_vs2010_static.vcxproj b/msvc/pugixml_vs2010_static.vcxproj
new file mode 100644
index 0000000..7edb244
--- /dev/null
+++ b/msvc/pugixml_vs2010_static.vcxproj
@@ -0,0 +1,90 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}
+ pugixml
+ Win32Proj
+
+
+
+ StaticLibrary
+ MultiByte
+ true
+
+
+ StaticLibrary
+ MultiByte
+ true
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/msvc/pugixml_vs2012.sln b/msvc/pugixml_vs2012.sln
new file mode 100644
index 0000000..f885d7e
--- /dev/null
+++ b/msvc/pugixml_vs2012.sln
@@ -0,0 +1,36 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2012", "pugixml_vs2012.vcxproj", "{89A1E353-E2DC-495C-B403-742BE206ACED}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2012_static", "pugixml_vs2012_static.vcxproj", "{068BB22F-F8D8-417F-AA4A-41795D4594C6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|Win32.ActiveCfg = Debug|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|Win32.Build.0 = Debug|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|x64.ActiveCfg = Debug|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|x64.Build.0 = Debug|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|Win32.ActiveCfg = Release|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|Win32.Build.0 = Release|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|x64.ActiveCfg = Release|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|x64.Build.0 = Release|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|Win32.Build.0 = Debug|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|x64.ActiveCfg = Debug|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|x64.Build.0 = Debug|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|Win32.ActiveCfg = Release|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|Win32.Build.0 = Release|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|x64.ActiveCfg = Release|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/msvc/pugixml_vs2012.vcxproj b/msvc/pugixml_vs2012.vcxproj
new file mode 100644
index 0000000..d7ea77b
--- /dev/null
+++ b/msvc/pugixml_vs2012.vcxproj
@@ -0,0 +1,90 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {89A1E353-E2DC-495C-B403-742BE206ACED}
+ pugixml
+ Win32Proj
+
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v110
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v110
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v110
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/msvc/pugixml_vs2012_static.vcxproj b/msvc/pugixml_vs2012_static.vcxproj
new file mode 100644
index 0000000..63ecea7
--- /dev/null
+++ b/msvc/pugixml_vs2012_static.vcxproj
@@ -0,0 +1,94 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}
+ pugixml
+ Win32Proj
+
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v110
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v110
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v110
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v110
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/msvc/pugixml_vs2013.sln b/msvc/pugixml_vs2013.sln
new file mode 100644
index 0000000..3c9e73e
--- /dev/null
+++ b/msvc/pugixml_vs2013.sln
@@ -0,0 +1,38 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2013", "pugixml_vs2013.vcxproj", "{89A1E353-E2DC-495C-B403-742BE206ACED}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2013_static", "pugixml_vs2013_static.vcxproj", "{068BB22F-F8D8-417F-AA4A-41795D4594C6}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|Win32.ActiveCfg = Debug|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|Win32.Build.0 = Debug|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|x64.ActiveCfg = Debug|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Debug|x64.Build.0 = Debug|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|Win32.ActiveCfg = Release|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|Win32.Build.0 = Release|Win32
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|x64.ActiveCfg = Release|x64
+ {89A1E353-E2DC-495C-B403-742BE206ACED}.Release|x64.Build.0 = Release|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|Win32.Build.0 = Debug|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|x64.ActiveCfg = Debug|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Debug|x64.Build.0 = Debug|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|Win32.ActiveCfg = Release|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|Win32.Build.0 = Release|Win32
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|x64.ActiveCfg = Release|x64
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/msvc/pugixml_vs2013.vcxproj b/msvc/pugixml_vs2013.vcxproj
new file mode 100644
index 0000000..ba2b2dd
--- /dev/null
+++ b/msvc/pugixml_vs2013.vcxproj
@@ -0,0 +1,90 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {89A1E353-E2DC-495C-B403-742BE206ACED}
+ pugixml
+ Win32Proj
+
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v120
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v120
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v120
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/msvc/pugixml_vs2013_static.vcxproj b/msvc/pugixml_vs2013_static.vcxproj
new file mode 100644
index 0000000..6721ef7
--- /dev/null
+++ b/msvc/pugixml_vs2013_static.vcxproj
@@ -0,0 +1,94 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {068BB22F-F8D8-417F-AA4A-41795D4594C6}
+ pugixml
+ Win32Proj
+
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v120
+
+
+ StaticLibrary
+ MultiByte
+ true
+ v120
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v120
+
+
+ StaticLibrary
+ MultiByte
+ true
+ false
+ v120
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/msvc/pugixml_vs2015.sln b/msvc/pugixml_vs2015.sln
new file mode 100644
index 0000000..7e6bfac
--- /dev/null
+++ b/msvc/pugixml_vs2015.sln
@@ -0,0 +1,38 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2015", "pugixml_vs2015.vcxproj", "{07CF01C0-B887-499D-AD9C-799CB6A9FE64}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml_vs2015_static", "pugixml_vs2015_static.vcxproj", "{882E4BFF-039D-4C8F-A833-5DFCBBF6985C}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Debug|x64.ActiveCfg = Debug|x64
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Debug|x64.Build.0 = Debug|x64
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Debug|x86.ActiveCfg = Debug|Win32
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Debug|x86.Build.0 = Debug|Win32
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Release|x64.ActiveCfg = Release|x64
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Release|x64.Build.0 = Release|x64
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Release|x86.ActiveCfg = Release|Win32
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}.Release|x86.Build.0 = Release|Win32
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Debug|x64.ActiveCfg = Debug|x64
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Debug|x64.Build.0 = Debug|x64
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Debug|x86.ActiveCfg = Debug|Win32
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Debug|x86.Build.0 = Debug|Win32
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Release|x64.ActiveCfg = Release|x64
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Release|x64.Build.0 = Release|x64
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Release|x86.ActiveCfg = Release|Win32
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/msvc/pugixml_vs2015.vcxproj b/msvc/pugixml_vs2015.vcxproj
new file mode 100644
index 0000000..ae65203
--- /dev/null
+++ b/msvc/pugixml_vs2015.vcxproj
@@ -0,0 +1,94 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}
+ Win32Proj
+ pugixml
+ 8.1
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/msvc/pugixml_vs2015_static.vcxproj b/msvc/pugixml_vs2015_static.vcxproj
new file mode 100644
index 0000000..17606e4
--- /dev/null
+++ b/msvc/pugixml_vs2015_static.vcxproj
@@ -0,0 +1,98 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {882E4BFF-039D-4C8F-A833-5DFCBBF6985C}
+ Win32Proj
+ pugixml
+ 8.1
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/msvc/readme.txt b/msvc/readme.txt
new file mode 100644
index 0000000..acb1248
--- /dev/null
+++ b/msvc/readme.txt
@@ -0,0 +1,29 @@
+A new approach to MSVC build system, using PropertySheets.
+This approach is based on MsBuild ver 4, so it concerns only latest MSVS versions (starting from Msvs2010).
+New projects, solutions and props files are located in msvc directory.
+
+All properties and item metadata, such as compiler and linker settings are declared in PropertySheets (*.props files).
+
+There are dozen props *.files in msvc/props directory. Each *.props file contain settings for some build configuration. The most part of *.props files are suitable for all VisualStudio versions.
+
+Each project file should import pugixml.props file (located in msvc directory). Projects for static RTL should also import pugixml.s.props (before pugixml.props).
+
+Advantages of this approach:
+ * Each parameter stores in only one plase. So it is easier to explore the structure of projects. It's easier to change some setting.
+ * Project files became smaller and easier to read.
+ * It's easier to create new vcxproj files based on existing project. For example, projects for Msvc11 and Msvc12 was created using Msvc10 project.
+
+Visual studio has a nice instrument for exploring and editing property sheets: Property Manager. If it not visible, turn it on by using menu View/OtherWindows/PropertyManager.
+
+And yet another new feachure. User can customize building process by inserting his own property sheet into project structure (without modifying any file from pugixml directory).
+
+For example:
+ MsBuild.exe /p:PUGI_Props_External=d:\MyProps.props pugixml_vs2010.vcxproj
+
+Best regards,
+Taymanov Sergey,
+Moscow.
+
+
+
+