diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.cpp b/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.cpp
new file mode 100644
index 00000000..0f7e32e5
Binary files /dev/null and b/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.cpp differ
diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.vcxproj b/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.vcxproj
new file mode 100644
index 00000000..c08e307b
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.vcxproj
@@ -0,0 +1,101 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ 15.0
+ {18E885C7-E6D6-4362-BA90-4FA35FB23E09}
+ Win32Proj
+ ConsoleApplication1
+ 10.0.16299.0
+
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+ Use
+ Level3
+ Disabled
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Use
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+ {2fd4f4c5-90bb-4f8b-b1b8-1b7e23c9e6f3}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.vcxproj.filters b/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.vcxproj.filters
new file mode 100644
index 00000000..c45426d1
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/ConsoleApplication1/ConsoleApplication1.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {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;ipp;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
+
+
+
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication1/stdafx.cpp b/VC2017Samples/SharedPchSample/ConsoleApplication1/stdafx.cpp
new file mode 100644
index 00000000..ad12bd90
Binary files /dev/null and b/VC2017Samples/SharedPchSample/ConsoleApplication1/stdafx.cpp differ
diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.cpp b/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.cpp
new file mode 100644
index 00000000..a1bed2a8
Binary files /dev/null and b/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.cpp differ
diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.vcxproj b/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.vcxproj
new file mode 100644
index 00000000..94440cac
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.vcxproj
@@ -0,0 +1,105 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ 15.0
+ {D7E43ACB-B032-4BBF-89FB-50B6055A81FC}
+ Win32Proj
+ ConsoleApplication2
+ 10.0.16299.0
+
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ Disabled
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ Use
+
+
+ Console
+ true
+
+
+
+
+ Use
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+ NotUsing
+ NotUsing
+ $(IntDir)vc$(PlatformToolsetVersion)1.pdb
+ $(IntDir)vc$(PlatformToolsetVersion)1.pdb
+
+
+
+
+ {2fd4f4c5-90bb-4f8b-b1b8-1b7e23c9e6f3}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.vcxproj.filters b/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.vcxproj.filters
new file mode 100644
index 00000000..fe781224
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/ConsoleApplication2/ConsoleApplication2.vcxproj.filters
@@ -0,0 +1,25 @@
+
+
+
+
+ {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;ipp;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
+
+
+
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/ConsoleApplication2/Source.cpp b/VC2017Samples/SharedPchSample/ConsoleApplication2/Source.cpp
new file mode 100644
index 00000000..b5e1b60d
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/ConsoleApplication2/Source.cpp
@@ -0,0 +1,10 @@
+
+
+class CFoo
+{
+public:
+ int bar()
+ {
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/CustomBuildStep.props b/VC2017Samples/SharedPchSample/CustomBuildStep.props
new file mode 100644
index 00000000..d715f397
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/CustomBuildStep.props
@@ -0,0 +1,17 @@
+
+
+
+
+
+ ClCompile
+
+
+
+ if EXIST "$(SharedPdb)" xcopy /Y /F "$(SharedPdb)" "$(IntDir)"
+if EXIST "$(SharedIdb)" xcopy /Y /F "$(SharedIdb)" "$(IntDir)"
+ $(IntDir)vc$(PlatformToolsetVersion).pdb;
+ $(SharedPdb)
+
+
+
+
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/SharedPCH/SharedPCH.vcxproj b/VC2017Samples/SharedPchSample/SharedPCH/SharedPCH.vcxproj
new file mode 100644
index 00000000..5e9a9d8a
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/SharedPCH/SharedPCH.vcxproj
@@ -0,0 +1,101 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ 15.0
+ {2FD4F4C5-90BB-4F8B-B1B8-1B7E23C9E6F3}
+ Win32Proj
+ SharedPCH
+ 10.0.16299.0
+
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+ Create
+ Level3
+ Disabled
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ $(SharedPdb)
+
+
+ Windows
+ true
+
+
+
+
+ Create
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ $(SharedPdb)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+ Create
+ Create
+
+
+
+
+
+
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/SharedPCH/SharedPCH.vcxproj.filters b/VC2017Samples/SharedPchSample/SharedPCH/SharedPCH.vcxproj.filters
new file mode 100644
index 00000000..782ac4b1
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/SharedPCH/SharedPCH.vcxproj.filters
@@ -0,0 +1,30 @@
+
+
+
+
+ {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;ipp;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/VC2017Samples/SharedPchSample/SharedPCH/stdafx.cpp b/VC2017Samples/SharedPchSample/SharedPCH/stdafx.cpp
new file mode 100644
index 00000000..c66dc1c9
Binary files /dev/null and b/VC2017Samples/SharedPchSample/SharedPCH/stdafx.cpp differ
diff --git a/VC2017Samples/SharedPchSample/SharedPCH/stdafx.h b/VC2017Samples/SharedPchSample/SharedPCH/stdafx.h
new file mode 100644
index 00000000..c636ca07
Binary files /dev/null and b/VC2017Samples/SharedPchSample/SharedPCH/stdafx.h differ
diff --git a/VC2017Samples/SharedPchSample/SharedPCH/targetver.h b/VC2017Samples/SharedPchSample/SharedPCH/targetver.h
new file mode 100644
index 00000000..567cd346
Binary files /dev/null and b/VC2017Samples/SharedPchSample/SharedPCH/targetver.h differ
diff --git a/VC2017Samples/SharedPchSample/SharedPch.props b/VC2017Samples/SharedPchSample/SharedPch.props
new file mode 100644
index 00000000..5668f544
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/SharedPch.props
@@ -0,0 +1,34 @@
+
+
+
+
+ $(SolutionDir)Outputs\Intermediate\Shared\$(Platform)\$(Configuration)\
+ $(SharedPchDir)Shared.pch
+ $(SharedPchDir)vc$(PlatformToolsetVersion).pdb
+ $(SharedPchDir)vc$(PlatformToolsetVersion).idb
+
+
+ $(SolutionDir)Outputs\$(Platform)\$(Configuration)\
+ $(SolutionDir)Outputs\Intermediate\$(ProjectName)\$(Platform)\$(Configuration)\
+
+
+
+ $(SolutionDir)SharedPCH;%(AdditionalIncludeDirectories)
+ $(SharedPch)
+
+
+
+
+ $(SharedPchDir)
+
+
+ $(SharedPch)
+
+
+ $(SharedPdb)
+
+
+ $(SharedIdb)
+
+
+
\ No newline at end of file
diff --git a/VC2017Samples/SharedPchSample/SharedPchSample.pdf b/VC2017Samples/SharedPchSample/SharedPchSample.pdf
new file mode 100644
index 00000000..29dbad17
Binary files /dev/null and b/VC2017Samples/SharedPchSample/SharedPchSample.pdf differ
diff --git a/VC2017Samples/SharedPchSample/SharedPchSample.sln b/VC2017Samples/SharedPchSample/SharedPchSample.sln
new file mode 100644
index 00000000..d4065783
--- /dev/null
+++ b/VC2017Samples/SharedPchSample/SharedPchSample.sln
@@ -0,0 +1,43 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27129.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConsoleApplication1", "ConsoleApplication1\ConsoleApplication1.vcxproj", "{18E885C7-E6D6-4362-BA90-4FA35FB23E09}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConsoleApplication2", "ConsoleApplication2\ConsoleApplication2.vcxproj", "{D7E43ACB-B032-4BBF-89FB-50B6055A81FC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SharedPCH", "SharedPCH\SharedPCH.vcxproj", "{2FD4F4C5-90BB-4F8B-B1B8-1B7E23C9E6F3}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8070B1D8-1C71-4948-BF6D-7E129322D0B2}"
+ ProjectSection(SolutionItems) = preProject
+ CustomBuildStep.props = CustomBuildStep.props
+ SharedPch.props = SharedPch.props
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {18E885C7-E6D6-4362-BA90-4FA35FB23E09}.Debug|x86.ActiveCfg = Debug|Win32
+ {18E885C7-E6D6-4362-BA90-4FA35FB23E09}.Debug|x86.Build.0 = Debug|Win32
+ {18E885C7-E6D6-4362-BA90-4FA35FB23E09}.Release|x86.ActiveCfg = Release|Win32
+ {18E885C7-E6D6-4362-BA90-4FA35FB23E09}.Release|x86.Build.0 = Release|Win32
+ {D7E43ACB-B032-4BBF-89FB-50B6055A81FC}.Debug|x86.ActiveCfg = Debug|Win32
+ {D7E43ACB-B032-4BBF-89FB-50B6055A81FC}.Debug|x86.Build.0 = Debug|Win32
+ {D7E43ACB-B032-4BBF-89FB-50B6055A81FC}.Release|x86.ActiveCfg = Release|Win32
+ {D7E43ACB-B032-4BBF-89FB-50B6055A81FC}.Release|x86.Build.0 = Release|Win32
+ {2FD4F4C5-90BB-4F8B-B1B8-1B7E23C9E6F3}.Debug|x86.ActiveCfg = Debug|Win32
+ {2FD4F4C5-90BB-4F8B-B1B8-1B7E23C9E6F3}.Debug|x86.Build.0 = Debug|Win32
+ {2FD4F4C5-90BB-4F8B-B1B8-1B7E23C9E6F3}.Release|x86.ActiveCfg = Release|Win32
+ {2FD4F4C5-90BB-4F8B-B1B8-1B7E23C9E6F3}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A7CBA902-EF84-4D9C-9DD1-D04B0DCA1195}
+ EndGlobalSection
+EndGlobal