diff --git a/scripts/build_nuget_package.bat b/scripts/build_nuget_package.bat
new file mode 100644
index 0000000..3715832
--- /dev/null
+++ b/scripts/build_nuget_package.bat
@@ -0,0 +1,11 @@
+msbuild vs2015/vs2015.sln /target:Clean /property:Configuration=Debug /property:Platform=x86
+msbuild vs2015/vs2015.sln /target:Clean /property:Configuration=Debug /property:Platform=x64
+msbuild vs2015/vs2015.sln /target:Clean /property:Configuration=Release /property:Platform=x86
+msbuild vs2015/vs2015.sln /target:Clean /property:Configuration=Release /property:Platform=x64
+
+msbuild vs2015/vs2015.sln /property:Configuration=Debug /property:Platform=x86
+msbuild vs2015/vs2015.sln /property:Configuration=Debug /property:Platform=x64
+msbuild vs2015/vs2015.sln /property:Configuration=Release /property:Platform=x86
+msbuild vs2015/vs2015.sln /property:Configuration=Release /property:Platform=x64
+
+powershell Write-NuGetPackage nuget.autopkg
diff --git a/scripts/nuget.autopkg b/scripts/nuget.autopkg
new file mode 100644
index 0000000..c620b57
--- /dev/null
+++ b/scripts/nuget.autopkg
@@ -0,0 +1,50 @@
+nuget{
+ nuspec{
+ id = pugixml;
+ version : 1.6.0.1;
+ title: XML parser library in C++;
+ authors: {Arseny Kapoulkine};
+ owners: {Arseny Kapoulkine};
+ licenseUrl: "http://pugixml.org/license.html";
+ projectUrl: "http://pugixml.org/";
+ iconUrl: "https://github.com/zeux/pugixml/logo.svg";
+ requireLicenseAcceptance:false;
+ summary: XML parser library in C++;
+
+ description: @"XML parser library in C++";
+ releaseNotes: "Initial release";
+ copyright: Copyright (c) 2006-2015 Arseny Kapoulkine;
+ tags: { native};
+ }
+ dependencies {
+ packages : {
+ };
+ }
+ files {
+ include: { "..\src\**\*.hpp" };
+
+ [x86,release] {
+ lib: vs2015\Release\libpugixml.lib;
+// symbols: vs2015\Release\libpugixml.pdb;
+// bin: vs2015\Release\libpugixml.dll;
+ }
+
+ [x86,debug] {
+ lib: vs2015\Debug\libpugixml.lib;
+// symbols: vs2015\Debug\libpugixml.pdb;
+// bin: vs2015\Debug\libpugixml.dll;
+ }
+
+ [x64,release] {
+ lib: vs2015\x64\Release\libpugixml.lib;
+// symbols: vs2015\x64\Release\libpugixml.pdb;
+// bin: vs2015\x64\Release\libpugixml.dll;
+ }
+
+ [x64,debug] {
+ lib: vs2015\x64\Debug\libpugixml.lib;
+// symbols: vs2015\x64\Debug\libpugixml.pdb;
+// bin: vs2015\x64\Debug\libpugixml.dll;
+ }
+ }
+}
diff --git a/scripts/vs2015/libpugixml/libpugixml.vcxproj b/scripts/vs2015/libpugixml/libpugixml.vcxproj
new file mode 100644
index 0000000..b92b1f7
--- /dev/null
+++ b/scripts/vs2015/libpugixml/libpugixml.vcxproj
@@ -0,0 +1,146 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {07CF01C0-B887-499D-AD9C-799CB6A9FE64}
+ Win32Proj
+ libpugixml
+ 8.1
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/scripts/vs2015/libpugixml/libpugixml.vcxproj.filters b/scripts/vs2015/libpugixml/libpugixml.vcxproj.filters
new file mode 100644
index 0000000..8e4201e
--- /dev/null
+++ b/scripts/vs2015/libpugixml/libpugixml.vcxproj.filters
@@ -0,0 +1,33 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/scripts/vs2015/test/test.vcxproj b/scripts/vs2015/test/test.vcxproj
new file mode 100644
index 0000000..425a5d6
--- /dev/null
+++ b/scripts/vs2015/test/test.vcxproj
@@ -0,0 +1,197 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}
+ Win32Proj
+ test
+ 8.1
+
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {07cf01c0-b887-499d-ad9c-799cb6a9fe64}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/scripts/vs2015/test/test.vcxproj.filters b/scripts/vs2015/test/test.vcxproj.filters
new file mode 100644
index 0000000..ca01335
--- /dev/null
+++ b/scripts/vs2015/test/test.vcxproj.filters
@@ -0,0 +1,144 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/scripts/vs2015/vs2015.sln b/scripts/vs2015/vs2015.sln
new file mode 100644
index 0000000..deaf7f6
--- /dev/null
+++ b/scripts/vs2015/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}") = "libpugixml", "libpugixml\libpugixml.vcxproj", "{07CF01C0-B887-499D-AD9C-799CB6A9FE64}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test\test.vcxproj", "{B137E300-AB66-4C9D-A7C9-4EF1BB344375}"
+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
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Debug|x64.ActiveCfg = Debug|x64
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Debug|x64.Build.0 = Debug|x64
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Debug|x86.ActiveCfg = Debug|Win32
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Debug|x86.Build.0 = Debug|Win32
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Release|x64.ActiveCfg = Release|x64
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Release|x64.Build.0 = Release|x64
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Release|x86.ActiveCfg = Release|Win32
+ {B137E300-AB66-4C9D-A7C9-4EF1BB344375}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal