diff --git a/vsprojects/extract_includes.bat b/vsprojects/extract_includes.bat
index beab8c4a33..d1638e3afe 100755
--- a/vsprojects/extract_includes.bat
+++ b/vsprojects/extract_includes.bat
@@ -7,44 +7,72 @@ md include\google\protobuf\compiler
md include\google\protobuf\compiler\cpp
md include\google\protobuf\compiler\java
md include\google\protobuf\compiler\python
-copy ..\src\google\protobuf\stubs\atomicops.h include\google\protobuf\stubs\atomicops.h
-copy ..\src\google\protobuf\stubs\atomicops_internals_x86_msvc.h include\google\protobuf\stubs\atomicops_internals_x86_msvc.h
-copy ..\src\google\protobuf\stubs\common.h include\google\protobuf\stubs\common.h
-copy ..\src\google\protobuf\stubs\once.h include\google\protobuf\stubs\once.h
-copy ..\src\google\protobuf\stubs\platform_macros.h include\google\protobuf\stubs\platform_macros.h
-copy ..\src\google\protobuf\stubs\template_util.h include\google\protobuf\stubs\template_util.h
-copy ..\src\google\protobuf\stubs\type_traits.h include\google\protobuf\stubs\type_traits.h
-copy ..\src\google\protobuf\descriptor.h include\google\protobuf\descriptor.h
-copy ..\src\google\protobuf\descriptor.pb.h include\google\protobuf\descriptor.pb.h
-copy ..\src\google\protobuf\descriptor_database.h include\google\protobuf\descriptor_database.h
-copy ..\src\google\protobuf\dynamic_message.h include\google\protobuf\dynamic_message.h
-copy ..\src\google\protobuf\extension_set.h include\google\protobuf\extension_set.h
-copy ..\src\google\protobuf\generated_enum_reflection.h include\google\protobuf\generated_enum_reflection.h
-copy ..\src\google\protobuf\generated_message_util.h include\google\protobuf\generated_message_util.h
-copy ..\src\google\protobuf\generated_message_reflection.h include\google\protobuf\generated_message_reflection.h
-copy ..\src\google\protobuf\message.h include\google\protobuf\message.h
-copy ..\src\google\protobuf\message_lite.h include\google\protobuf\message_lite.h
-copy ..\src\google\protobuf\reflection_ops.h include\google\protobuf\reflection_ops.h
-copy ..\src\google\protobuf\repeated_field.h include\google\protobuf\repeated_field.h
-copy ..\src\google\protobuf\service.h include\google\protobuf\service.h
-copy ..\src\google\protobuf\text_format.h include\google\protobuf\text_format.h
-copy ..\src\google\protobuf\unknown_field_set.h include\google\protobuf\unknown_field_set.h
-copy ..\src\google\protobuf\wire_format.h include\google\protobuf\wire_format.h
-copy ..\src\google\protobuf\wire_format_lite.h include\google\protobuf\wire_format_lite.h
-copy ..\src\google\protobuf\wire_format_lite_inl.h include\google\protobuf\wire_format_lite_inl.h
-copy ..\src\google\protobuf\io\coded_stream.h include\google\protobuf\io\coded_stream.h
-copy ..\src\google\protobuf\io\gzip_stream.h include\google\protobuf\io\gzip_stream.h
-copy ..\src\google\protobuf\io\printer.h include\google\protobuf\io\printer.h
-copy ..\src\google\protobuf\io\strtod.h include\google\protobuf\io\strtod.h
-copy ..\src\google\protobuf\io\tokenizer.h include\google\protobuf\io\tokenizer.h
-copy ..\src\google\protobuf\io\zero_copy_stream.h include\google\protobuf\io\zero_copy_stream.h
-copy ..\src\google\protobuf\io\zero_copy_stream_impl.h include\google\protobuf\io\zero_copy_stream_impl.h
-copy ..\src\google\protobuf\io\zero_copy_stream_impl_lite.h include\google\protobuf\io\zero_copy_stream_impl_lite.h
-copy ..\src\google\protobuf\compiler\code_generator.h include\google\protobuf\compiler\code_generator.h
-copy ..\src\google\protobuf\compiler\command_line_interface.h include\google\protobuf\compiler\command_line_interface.h
-copy ..\src\google\protobuf\compiler\importer.h include\google\protobuf\compiler\importer.h
-copy ..\src\google\protobuf\compiler\parser.h include\google\protobuf\compiler\parser.h
-copy ..\src\google\protobuf\compiler\cpp\cpp_generator.h include\google\protobuf\compiler\cpp\cpp_generator.h
-copy ..\src\google\protobuf\compiler\java\java_generator.h include\google\protobuf\compiler\java\java_generator.h
-copy ..\src\google\protobuf\compiler\python\python_generator.h include\google\protobuf\compiler\python\python_generator.h
-copy ..\src\google\protobuf\compiler\plugin.h include\google\protobuf\compiler\plugin.h
+copy ..\google\protobuf\arena.h include\google\protobuf\arena.h
+copy ..\google\protobuf\arenastring.h include\google\protobuf\arenastring.h
+copy ..\google\protobuf\compiler\code_generator.h include\google\protobuf\compiler\code_generator.h
+copy ..\google\protobuf\compiler\command_line_interface.h include\google\protobuf\compiler\command_line_interface.h
+copy ..\google\protobuf\compiler\cpp\cpp_generator.h include\google\protobuf\compiler\cpp\cpp_generator.h
+copy ..\google\protobuf\compiler\importer.h include\google\protobuf\compiler\importer.h
+copy ..\google\protobuf\compiler\java\java_generator.h include\google\protobuf\compiler\java\java_generator.h
+copy ..\google\protobuf\compiler\parser.h include\google\protobuf\compiler\parser.h
+copy ..\google\protobuf\compiler\plugin.h include\google\protobuf\compiler\plugin.h
+copy ..\google\protobuf\compiler\plugin.pb.h include\google\protobuf\compiler\plugin.pb.h
+copy ..\google\protobuf\compiler\python\python_generator.h include\google\protobuf\compiler\python\python_generator.h
+copy ..\google\protobuf\descriptor_database.h include\google\protobuf\descriptor_database.h
+copy ..\google\protobuf\descriptor.h include\google\protobuf\descriptor.h
+copy ..\google\protobuf\descriptor.pb.h include\google\protobuf\descriptor.pb.h
+copy ..\google\protobuf\dynamic_message.h include\google\protobuf\dynamic_message.h
+copy ..\google\protobuf\extension_set.h include\google\protobuf\extension_set.h
+copy ..\google\protobuf\generated_enum_reflection.h include\google\protobuf\generated_enum_reflection.h
+copy ..\google\protobuf\generated_message_reflection.h include\google\protobuf\generated_message_reflection.h
+copy ..\google\protobuf\generated_message_util.h include\google\protobuf\generated_message_util.h
+copy ..\google\protobuf\io\coded_stream.h include\google\protobuf\io\coded_stream.h
+copy ..\google\protobuf\io\gzip_stream.h include\google\protobuf\io\gzip_stream.h
+copy ..\google\protobuf\io\printer.h include\google\protobuf\io\printer.h
+copy ..\google\protobuf\io\strtod.h include\google\protobuf\io\strtod.h
+copy ..\google\protobuf\io\tokenizer.h include\google\protobuf\io\tokenizer.h
+copy ..\google\protobuf\io\zero_copy_stream.h include\google\protobuf\io\zero_copy_stream.h
+copy ..\google\protobuf\io\zero_copy_stream_impl.h include\google\protobuf\io\zero_copy_stream_impl.h
+copy ..\google\protobuf\io\zero_copy_stream_impl_lite.h include\google\protobuf\io\zero_copy_stream_impl_lite.h
+copy ..\google\protobuf\map_entry.h include\google\protobuf\map_entry.h
+copy ..\google\protobuf\map_field.h include\google\protobuf\map_field.h
+copy ..\google\protobuf\map_field_inl.h include\google\protobuf\map_field_inl.h
+copy ..\google\protobuf\map.h include\google\protobuf\map.h
+copy ..\google\protobuf\map_type_handler.h include\google\protobuf\map_type_handler.h
+copy ..\google\protobuf\message.h include\google\protobuf\message.h
+copy ..\google\protobuf\message_lite.h include\google\protobuf\message_lite.h
+copy ..\google\protobuf\metadata.h include\google\protobuf\metadata.h
+copy ..\google\protobuf\reflection.h include\google\protobuf\reflection.h
+copy ..\google\protobuf\reflection_ops.h include\google\protobuf\reflection_ops.h
+copy ..\google\protobuf\repeated_field.h include\google\protobuf\repeated_field.h
+copy ..\google\protobuf\repeated_field_reflection.h include\google\protobuf\repeated_field_reflection.h
+copy ..\google\protobuf\service.h include\google\protobuf\service.h
+copy ..\google\protobuf\stubs\atomicops.h include\google\protobuf\stubs\atomicops.h
+copy ..\google\protobuf\stubs\atomicops_internals_aix.h include\google\protobuf\stubs\atomicops_internals_aix.h
+copy ..\google\protobuf\stubs\atomicops_internals_arm64_gcc.h include\google\protobuf\stubs\atomicops_internals_arm64_gcc.h
+copy ..\google\protobuf\stubs\atomicops_internals_arm_gcc.h include\google\protobuf\stubs\atomicops_internals_arm_gcc.h
+copy ..\google\protobuf\stubs\atomicops_internals_arm_qnx.h include\google\protobuf\stubs\atomicops_internals_arm_qnx.h
+copy ..\google\protobuf\stubs\atomicops_internals_atomicword_compat.h include\google\protobuf\stubs\atomicops_internals_atomicword_compat.h
+copy ..\google\protobuf\stubs\atomicops_internals_generic_gcc.h include\google\protobuf\stubs\atomicops_internals_generic_gcc.h
+copy ..\google\protobuf\stubs\atomicops_internals_macosx.h include\google\protobuf\stubs\atomicops_internals_macosx.h
+copy ..\google\protobuf\stubs\atomicops_internals_mips_gcc.h include\google\protobuf\stubs\atomicops_internals_mips_gcc.h
+copy ..\google\protobuf\stubs\atomicops_internals_pnacl.h include\google\protobuf\stubs\atomicops_internals_pnacl.h
+copy ..\google\protobuf\stubs\atomicops_internals_solaris.h include\google\protobuf\stubs\atomicops_internals_solaris.h
+copy ..\google\protobuf\stubs\atomicops_internals_tsan.h include\google\protobuf\stubs\atomicops_internals_tsan.h
+copy ..\google\protobuf\stubs\atomicops_internals_x86_gcc.h include\google\protobuf\stubs\atomicops_internals_x86_gcc.h
+copy ..\google\protobuf\stubs\atomicops_internals_x86_msvc.h include\google\protobuf\stubs\atomicops_internals_x86_msvc.h
+copy ..\google\protobuf\stubs\atomic_sequence_num.h include\google\protobuf\stubs\atomic_sequence_num.h
+copy ..\google\protobuf\stubs\casts.h include\google\protobuf\stubs\casts.h
+copy ..\google\protobuf\stubs\common.h include\google\protobuf\stubs\common.h
+copy ..\google\protobuf\stubs\fastmem.h include\google\protobuf\stubs\fastmem.h
+copy ..\google\protobuf\stubs\once.h include\google\protobuf\stubs\once.h
+copy ..\google\protobuf\stubs\platform_macros.h include\google\protobuf\stubs\platform_macros.h
+copy ..\google\protobuf\stubs\singleton.h include\google\protobuf\stubs\singleton.h
+copy ..\google\protobuf\stubs\stl_util.h include\google\protobuf\stubs\stl_util.h
+copy ..\google\protobuf\stubs\template_util.h include\google\protobuf\stubs\template_util.h
+copy ..\google\protobuf\stubs\type_traits.h include\google\protobuf\stubs\type_traits.h
+copy ..\google\protobuf\text_format.h include\google\protobuf\text_format.h
+copy ..\google\protobuf\unknown_field_set.h include\google\protobuf\unknown_field_set.h
+copy ..\google\protobuf\wire_format.h include\google\protobuf\wire_format.h
+copy ..\google\protobuf\wire_format_lite.h include\google\protobuf\wire_format_lite.h
+copy ..\google\protobuf\wire_format_lite_inl.h include\google\protobuf\wire_format_lite_inl.h
diff --git a/vsprojects/libprotobuf-lite.vcproj b/vsprojects/libprotobuf-lite.vcproj
index 06b1598840..47642f5db8 100644
--- a/vsprojects/libprotobuf-lite.vcproj
+++ b/vsprojects/libprotobuf-lite.vcproj
@@ -248,7 +248,11 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
+
+
+
+
+
+
+
+
diff --git a/vsprojects/libprotobuf.vcproj b/vsprojects/libprotobuf.vcproj
index 1a488f7dd2..8bafcaadb7 100644
--- a/vsprojects/libprotobuf.vcproj
+++ b/vsprojects/libprotobuf.vcproj
@@ -328,7 +328,11 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vsprojects/tests.vcproj b/vsprojects/tests.vcproj
index fb815b5a63..488feb71b6 100644
--- a/vsprojects/tests.vcproj
+++ b/vsprojects/tests.vcproj
@@ -247,23 +247,23 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
+
+
@@ -311,19 +315,35 @@
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -371,7 +403,11 @@
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -410,12 +482,24 @@
RelativePath=".\google\protobuf\unittest_lite_imports_nonlite.pb.cc"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -468,7 +604,7 @@
@@ -478,11 +614,35 @@
+
+
+
+
+
+
+
+
@@ -492,7 +652,7 @@
@@ -502,11 +662,35 @@
+
+
+
+
+
+
+
+
@@ -516,7 +700,7 @@
@@ -526,11 +710,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -540,7 +772,7 @@
@@ -550,11 +782,35 @@
+
+
+
+
+
+
+
+
@@ -564,7 +820,7 @@
@@ -574,7 +830,7 @@
@@ -588,7 +844,7 @@
@@ -598,11 +854,35 @@
+
+
+
+
+
+
+
+
@@ -612,7 +892,7 @@
@@ -622,22 +902,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -660,7 +988,7 @@
@@ -670,11 +998,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+