diff --git a/Makefile b/Makefile
index 77afd34baad09f30056e9f7ca7d0419bfcadbc64..095e0aaabffe9ba1fcb100eab1bb5a5b3b2f52b5 100644
--- a/Makefile
+++ b/Makefile
@@ -1844,10 +1844,10 @@ GPR_HISTOGRAM_TEST_SRC = \
 GPR_HISTOGRAM_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_HISTOGRAM_TEST_SRC))))
 GPR_HISTOGRAM_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_HISTOGRAM_TEST_SRC))))
 
-bins/gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_histogram_test: $(GPR_HISTOGRAM_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_HISTOGRAM_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_histogram_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_HISTOGRAM_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_histogram_test
 
 deps_gpr_histogram_test: $(GPR_HISTOGRAM_TEST_DEPS)
 
@@ -1868,10 +1868,10 @@ GPR_HOST_PORT_TEST_SRC = \
 GPR_HOST_PORT_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_HOST_PORT_TEST_SRC))))
 GPR_HOST_PORT_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_HOST_PORT_TEST_SRC))))
 
-bins/gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_host_port_test: $(GPR_HOST_PORT_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_HOST_PORT_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_host_port_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_HOST_PORT_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_host_port_test
 
 deps_gpr_host_port_test: $(GPR_HOST_PORT_TEST_DEPS)
 
@@ -1892,10 +1892,10 @@ GPR_SLICE_BUFFER_TEST_SRC = \
 GPR_SLICE_BUFFER_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_SLICE_BUFFER_TEST_SRC))))
 GPR_SLICE_BUFFER_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_SLICE_BUFFER_TEST_SRC))))
 
-bins/gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_BUFFER_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_slice_buffer_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_BUFFER_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_slice_buffer_test
 
 deps_gpr_slice_buffer_test: $(GPR_SLICE_BUFFER_TEST_DEPS)
 
@@ -1916,10 +1916,10 @@ GPR_SLICE_TEST_SRC = \
 GPR_SLICE_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_SLICE_TEST_SRC))))
 GPR_SLICE_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_SLICE_TEST_SRC))))
 
-bins/gpr_slice_test: $(GPR_SLICE_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_slice_test: $(GPR_SLICE_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_slice_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_SLICE_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_slice_test
 
 deps_gpr_slice_test: $(GPR_SLICE_TEST_DEPS)
 
@@ -1940,10 +1940,10 @@ GPR_STRING_TEST_SRC = \
 GPR_STRING_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_STRING_TEST_SRC))))
 GPR_STRING_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_STRING_TEST_SRC))))
 
-bins/gpr_string_test: $(GPR_STRING_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_string_test: $(GPR_STRING_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_STRING_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_string_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_STRING_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_string_test
 
 deps_gpr_string_test: $(GPR_STRING_TEST_DEPS)
 
@@ -1964,10 +1964,10 @@ GPR_SYNC_TEST_SRC = \
 GPR_SYNC_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_SYNC_TEST_SRC))))
 GPR_SYNC_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_SYNC_TEST_SRC))))
 
-bins/gpr_sync_test: $(GPR_SYNC_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_sync_test: $(GPR_SYNC_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_SYNC_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_sync_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_SYNC_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_sync_test
 
 deps_gpr_sync_test: $(GPR_SYNC_TEST_DEPS)
 
@@ -1988,10 +1988,10 @@ GPR_THD_TEST_SRC = \
 GPR_THD_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_THD_TEST_SRC))))
 GPR_THD_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_THD_TEST_SRC))))
 
-bins/gpr_thd_test: $(GPR_THD_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_thd_test: $(GPR_THD_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_THD_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_thd_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_THD_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_thd_test
 
 deps_gpr_thd_test: $(GPR_THD_TEST_DEPS)
 
@@ -2012,10 +2012,10 @@ GPR_TIME_TEST_SRC = \
 GPR_TIME_TEST_OBJS = $(addprefix objs/, $(addsuffix .o, $(basename $(GPR_TIME_TEST_SRC))))
 GPR_TIME_TEST_DEPS = $(addprefix deps/, $(addsuffix .dep, $(basename $(GPR_TIME_TEST_SRC))))
 
-bins/gpr_time_test: $(GPR_TIME_TEST_OBJS) libs/libgrpc_test_util.a libs/libgrpc.a libs/libgpr.a
+bins/gpr_time_test: $(GPR_TIME_TEST_OBJS) libs/libgrpc_test_util.a libs/libgpr.a
 	$(E) "[LD]      Linking $@"
 	$(Q) mkdir -p `dirname $@`
-	$(Q) $(LD) $(LDFLAGS) $(GPR_TIME_TEST_OBJS) -Llibs -lgrpc_test_util -lgrpc -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_time_test
+	$(Q) $(LD) $(LDFLAGS) $(GPR_TIME_TEST_OBJS) -Llibs -lgrpc_test_util -lgpr $(LDLIBS) $(LDLIBS_SECURE) -o bins/gpr_time_test
 
 deps_gpr_time_test: $(GPR_TIME_TEST_DEPS)
 
diff --git a/build.json b/build.json
index cfb19707efc98ddd3f151b5cf93a098ace389c85..c395f10772a0872f8c518c8078e3abd3a9b4a30f 100644
--- a/build.json
+++ b/build.json
@@ -406,7 +406,6 @@
     {
       "name": "gpr_cancellable_test",
       "build": "test",
-      "vs_project_guid": "{19730BF6-7F8C-44EF-ACDC-2CA50C0403E7}",
       "src": [
         "test/core/support/cancellable_test.c"
       ],
@@ -418,7 +417,6 @@
     {
       "name": "gpr_log_test",
       "build": "test",
-      "vs_project_guid": "{42B70122-188F-4535-AB74-F061C77068B4}",
       "src": [
         "test/core/support/log_test.c"
       ],
@@ -430,7 +428,6 @@
     {
       "name": "gpr_cmdline_test",
       "build": "test",
-      "vs_project_guid": "{8F260F48-3C22-48A8-9928-A152ABB2EDF2}",
       "src": [
         "test/core/support/cmdline_test.c"
       ],
@@ -447,7 +444,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
@@ -459,7 +455,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
@@ -471,7 +466,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
@@ -483,7 +477,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
@@ -495,7 +488,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
@@ -507,7 +499,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
@@ -519,7 +510,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
@@ -531,7 +521,6 @@
       ],
       "deps": [
         "grpc_test_util",
-        "grpc",
         "gpr"
       ]
     },
diff --git a/include/grpc/support/string.h b/include/grpc/support/string.h
index 08c8809e6471d7d34c2b405345699a4620c4f807..a7acfdab88243f4b062acc8801d8a303cd22a084 100644
--- a/include/grpc/support/string.h
+++ b/include/grpc/support/string.h
@@ -66,7 +66,8 @@ int gpr_parse_bytes_to_uint32(const char *data, size_t length,
    On success, returns the number of bytes printed (excluding the final '\0'),
    and *strp points to a string which must later be destroyed with gpr_free().
 
-   On error, returns -1 and sets *strp to NULL. */
+   On error, returns -1 and sets *strp to NULL. If the format string is bad,
+   the result is undefined. */
 int gpr_asprintf(char **strp, const char *format, ...);
 
 #ifdef __cplusplus
diff --git a/templates/vsprojects/vs2013/build_and_run_tests.bat.template b/templates/vsprojects/vs2013/build_and_run_tests.bat.template
new file mode 100644
index 0000000000000000000000000000000000000000..8679bee3fc3966d89c8ecae747463042cc3e5549
--- /dev/null
+++ b/templates/vsprojects/vs2013/build_and_run_tests.bat.template
@@ -0,0 +1,40 @@
+<%!
+  import re
+%>\
+<%def name="to_windows_path(path)">${path.replace('/','\\')}</%def>\
+<%
+  test_targets = [ target for target in targets if target.name.startswith('gpr_') and target.name.endswith('_test')]
+  test_bin_dir = 'test_bin'
+%>\
+@rem Build and runs unit all unit tests
+
+@rem Set VS variables
+@call "%VS120COMNTOOLS%\..\..\vc\vcvarsall.bat" x86
+
+@rem Build the library dependencies first
+MSBuild.exe gpr.vcxproj /p:Configuration=Debug
+MSBuild.exe grpc_test_util.vcxproj /p:Configuration=Debug
+
+mkdir ${test_bin_dir}
+
+% for target in test_targets:
+echo Building test ${target.name}
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:${test_bin_dir}\ \
+%for source in target.src:
+..\..\${to_windows_path(source)} \
+%endfor
+
+link.exe /OUT:"${test_bin_dir}\${target.name}.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 \
+%for dep in target.deps:
+Debug\${dep}.lib \
+%endfor
+%for source in target.src:
+${test_bin_dir}\${re.search('([^/]+)\.c$', source).group(1)}.obj \
+%endfor
+
+echo(
+echo Running test ${target.name}
+${test_bin_dir}\${target.name}.exe || echo TEST FAILED: ${target.name} && exit /b
+echo(
+
+% endfor
\ No newline at end of file
diff --git a/templates/vsprojects/vs2013/gpr_cancellable_test.vcxproj.template b/templates/vsprojects/vs2013/gpr_cancellable_test.vcxproj.template
deleted file mode 100644
index e20be83a787de3c5f5d69314d417de7633420487..0000000000000000000000000000000000000000
--- a/templates/vsprojects/vs2013/gpr_cancellable_test.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('gpr_cancellable_test', libs, targets)}
diff --git a/templates/vsprojects/vs2013/gpr_cmdline_test.vcxproj.template b/templates/vsprojects/vs2013/gpr_cmdline_test.vcxproj.template
deleted file mode 100644
index 3be9fb3a9c2769a85779660506413dcf8dd18369..0000000000000000000000000000000000000000
--- a/templates/vsprojects/vs2013/gpr_cmdline_test.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('gpr_cmdline_test', libs, targets)}
diff --git a/templates/vsprojects/vs2013/gpr_log_test.vcxproj.template b/templates/vsprojects/vs2013/gpr_log_test.vcxproj.template
deleted file mode 100644
index 07cfb5d3386a238551adedcc1fd1463f78ec5a1e..0000000000000000000000000000000000000000
--- a/templates/vsprojects/vs2013/gpr_log_test.vcxproj.template
+++ /dev/null
@@ -1,2 +0,0 @@
-<%namespace file="vcxproj_defs.include" import="gen_project"/>\
-${gen_project('gpr_log_test', libs, targets)}
diff --git a/test/core/end2end/cq_verifier.c b/test/core/end2end/cq_verifier.c
index d0427da47e189813ff13f1a08fc03af8244516d1..4d57fdc37f8d2f8020f2dc73ff120437a9753d3f 100644
--- a/test/core/end2end/cq_verifier.c
+++ b/test/core/end2end/cq_verifier.c
@@ -133,7 +133,7 @@ static void verify_and_destroy_metadata(metadata *md, grpc_metadata *elems,
   gpr_free(md);
 }
 
-static gpr_slice merge_slices(gpr_slice *slices, int nslices) {
+static gpr_slice merge_slices(gpr_slice *slices, size_t nslices) {
   size_t i;
   size_t len = 0;
   gpr_uint8 *cursor;
diff --git a/test/core/endpoint/endpoint_tests.c b/test/core/endpoint/endpoint_tests.c
index 8b95d6159bf861604af51393090904b918b38cc3..f0abc30bdd61703639dbe46233a00c78c5be0d42 100644
--- a/test/core/endpoint/endpoint_tests.c
+++ b/test/core/endpoint/endpoint_tests.c
@@ -59,8 +59,8 @@
 size_t count_and_unref_slices(gpr_slice *slices, size_t nslices,
                               int *current_data) {
   size_t num_bytes = 0;
-  int i;
-  int j;
+  size_t i;
+  size_t j;
   unsigned char *buf;
   for (i = 0; i < nslices; ++i) {
     buf = GPR_SLICE_START_PTR(slices[i]);
@@ -88,8 +88,8 @@ static gpr_slice *allocate_blocks(size_t num_bytes, size_t slice_size,
   size_t nslices = num_bytes / slice_size + (num_bytes % slice_size ? 1 : 0);
   gpr_slice *slices = malloc(sizeof(gpr_slice) * nslices);
   size_t num_bytes_left = num_bytes;
-  int i;
-  int j;
+  size_t i;
+  size_t j;
   unsigned char *buf;
   *num_blocks = nslices;
 
diff --git a/test/core/support/string_test.c b/test/core/support/string_test.c
index 1e8039b1e817f18a42b499bb54a4bd217d148778..22ae7bacf52e1a932dc494aebb628c808017b046 100644
--- a/test/core/support/string_test.c
+++ b/test/core/support/string_test.c
@@ -130,10 +130,6 @@ static void test_asprintf() {
   GPR_ASSERT(buf[0] == '\0');
   gpr_free(buf);
 
-  /* Print an invalid format. */
-  GPR_ASSERT(gpr_asprintf(&buf, "%") == -1);
-  GPR_ASSERT(buf == NULL);
-
   /* Print strings of various lengths. */
   for (i = 1; i < 100; i++) {
     GPR_ASSERT(gpr_asprintf(&buf, "%0*d", i, 1) == i);
diff --git a/test/core/transport/transport_end2end_tests.c b/test/core/transport/transport_end2end_tests.c
index e35df3acb4cafeff209c371ede568213c1180963..86e987bef0e421b441abe9ba680f5ed200e80a69 100644
--- a/test/core/transport/transport_end2end_tests.c
+++ b/test/core/transport/transport_end2end_tests.c
@@ -700,7 +700,7 @@ static void end_test(test_fixture *f) {
 /* Generate a test slice filled with {0,1,2,3,...,255,0,1,2,3,4,...} */
 static gpr_slice generate_test_data(size_t length) {
   gpr_slice slice = gpr_slice_malloc(length);
-  int i;
+  size_t i;
   for (i = 0; i < length; i++) {
     GPR_SLICE_START_PTR(slice)[i] = i;
   }
diff --git a/vsprojects/vs2013/build_and_run_tests.bat b/vsprojects/vs2013/build_and_run_tests.bat
new file mode 100644
index 0000000000000000000000000000000000000000..c8f8117ba99e31343265d58af16d5ab91e524eb8
--- /dev/null
+++ b/vsprojects/vs2013/build_and_run_tests.bat
@@ -0,0 +1,99 @@
+@rem Build and runs unit all unit tests
+
+@rem Set VS variables
+@call "%VS120COMNTOOLS%\..\..\vc\vcvarsall.bat" x86
+
+@rem Build the library dependencies first
+MSBuild.exe gpr.vcxproj /p:Configuration=Debug
+MSBuild.exe grpc_test_util.vcxproj /p:Configuration=Debug
+
+mkdir test_bin
+
+echo Building test gpr_cancellable_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\cancellable_test.c 
+link.exe /OUT:"test_bin\gpr_cancellable_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\cancellable_test.obj 
+echo(
+echo Running test gpr_cancellable_test
+test_bin\gpr_cancellable_test.exe || echo TEST FAILED: gpr_cancellable_test && exit /b
+echo(
+
+echo Building test gpr_log_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\log_test.c 
+link.exe /OUT:"test_bin\gpr_log_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\log_test.obj 
+echo(
+echo Running test gpr_log_test
+test_bin\gpr_log_test.exe || echo TEST FAILED: gpr_log_test && exit /b
+echo(
+
+echo Building test gpr_cmdline_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\cmdline_test.c 
+link.exe /OUT:"test_bin\gpr_cmdline_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\cmdline_test.obj 
+echo(
+echo Running test gpr_cmdline_test
+test_bin\gpr_cmdline_test.exe || echo TEST FAILED: gpr_cmdline_test && exit /b
+echo(
+
+echo Building test gpr_histogram_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\histogram_test.c 
+link.exe /OUT:"test_bin\gpr_histogram_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\histogram_test.obj 
+echo(
+echo Running test gpr_histogram_test
+test_bin\gpr_histogram_test.exe || echo TEST FAILED: gpr_histogram_test && exit /b
+echo(
+
+echo Building test gpr_host_port_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\host_port_test.c 
+link.exe /OUT:"test_bin\gpr_host_port_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\host_port_test.obj 
+echo(
+echo Running test gpr_host_port_test
+test_bin\gpr_host_port_test.exe || echo TEST FAILED: gpr_host_port_test && exit /b
+echo(
+
+echo Building test gpr_slice_buffer_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\slice_buffer_test.c 
+link.exe /OUT:"test_bin\gpr_slice_buffer_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\slice_buffer_test.obj 
+echo(
+echo Running test gpr_slice_buffer_test
+test_bin\gpr_slice_buffer_test.exe || echo TEST FAILED: gpr_slice_buffer_test && exit /b
+echo(
+
+echo Building test gpr_slice_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\slice_test.c 
+link.exe /OUT:"test_bin\gpr_slice_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\slice_test.obj 
+echo(
+echo Running test gpr_slice_test
+test_bin\gpr_slice_test.exe || echo TEST FAILED: gpr_slice_test && exit /b
+echo(
+
+echo Building test gpr_string_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\string_test.c 
+link.exe /OUT:"test_bin\gpr_string_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\string_test.obj 
+echo(
+echo Running test gpr_string_test
+test_bin\gpr_string_test.exe || echo TEST FAILED: gpr_string_test && exit /b
+echo(
+
+echo Building test gpr_sync_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\sync_test.c 
+link.exe /OUT:"test_bin\gpr_sync_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\sync_test.obj 
+echo(
+echo Running test gpr_sync_test
+test_bin\gpr_sync_test.exe || echo TEST FAILED: gpr_sync_test && exit /b
+echo(
+
+echo Building test gpr_thd_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\thd_test.c 
+link.exe /OUT:"test_bin\gpr_thd_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\thd_test.obj 
+echo(
+echo Running test gpr_thd_test
+test_bin\gpr_thd_test.exe || echo TEST FAILED: gpr_thd_test && exit /b
+echo(
+
+echo Building test gpr_time_test
+cl.exe /c /I..\.. /I..\..\include /nologo /ZI /W3 /WX- /sdl /D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- /Fo:test_bin\ ..\..\test\core\support\time_test.c 
+link.exe /OUT:"test_bin\gpr_time_test.exe" /INCREMENTAL /NOLOGO /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 Debug\grpc_test_util.lib Debug\gpr.lib test_bin\time_test.obj 
+echo(
+echo Running test gpr_time_test
+test_bin\gpr_time_test.exe || echo TEST FAILED: gpr_time_test && exit /b
+echo(
+
diff --git a/vsprojects/vs2013/gpr_cancellable_test.vcxproj b/vsprojects/vs2013/gpr_cancellable_test.vcxproj
deleted file mode 100644
index 890541a86fcfdb1df75fbf74e821b82304fa2d7d..0000000000000000000000000000000000000000
--- a/vsprojects/vs2013/gpr_cancellable_test.vcxproj
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{19730BF6-7F8C-44EF-ACDC-2CA50C0403E7}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace></RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-    <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-    <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(SolutionDir)\..\..;$(SolutionDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(SolutionDir)\..\..;$(SolutionDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>  
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\test\core\support\cancellable_test.c">
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="grpc_test_util.vcxproj">
-      <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project>
-    </ProjectReference>
-    <ProjectReference Include="gpr.vcxproj">
-      <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
-
diff --git a/vsprojects/vs2013/gpr_cmdline_test.vcxproj b/vsprojects/vs2013/gpr_cmdline_test.vcxproj
deleted file mode 100644
index 705bd87fc1dbe4c8de56cbbfc6d821047a180095..0000000000000000000000000000000000000000
--- a/vsprojects/vs2013/gpr_cmdline_test.vcxproj
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{8F260F48-3C22-48A8-9928-A152ABB2EDF2}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace></RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-    <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-    <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(SolutionDir)\..\..;$(SolutionDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(SolutionDir)\..\..;$(SolutionDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>  
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\test\core\support\cmdline_test.c">
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="grpc_test_util.vcxproj">
-      <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project>
-    </ProjectReference>
-    <ProjectReference Include="gpr.vcxproj">
-      <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
-
diff --git a/vsprojects/vs2013/gpr_log_test.vcxproj b/vsprojects/vs2013/gpr_log_test.vcxproj
deleted file mode 100644
index d1d1f0ad1397293c34fc585c875922fe86bc2a16..0000000000000000000000000000000000000000
--- a/vsprojects/vs2013/gpr_log_test.vcxproj
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{42B70122-188F-4535-AB74-F061C77068B4}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace></RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-    <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v120</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-    <IntDir>$(Configuration)\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(SolutionDir)\..\..;$(SolutionDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_USE_32BIT_TIME_T;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      <AdditionalIncludeDirectories>$(SolutionDir)\..\..;$(SolutionDir)\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>  
-    </ClCompile>
-    <Link>
-      <SubSystem>Console</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\test\core\support\log_test.c">
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="grpc_test_util.vcxproj">
-      <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project>
-    </ProjectReference>
-    <ProjectReference Include="gpr.vcxproj">
-      <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
-
diff --git a/vsprojects/vs2013/grpc.sln b/vsprojects/vs2013/grpc.sln
index 2b39c07c6cff097a57a017b37bbe8164966dde13..475ea9abde2d633e5bd89f08a2760b92ba1ce4d9 100644
--- a/vsprojects/vs2013/grpc.sln
+++ b/vsprojects/vs2013/grpc.sln
@@ -9,24 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "grpc.vcxproj", "{29
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "grpc_test_util.vcxproj", "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_cancellable_test", "gpr_cancellable_test.vcxproj", "{19730BF6-7F8C-44EF-ACDC-2CA50C0403E7}"
-  ProjectSection(ProjectDependencies) = postProject
-    {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}
-    {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
-  EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_log_test", "gpr_log_test.vcxproj", "{42B70122-188F-4535-AB74-F061C77068B4}"
-  ProjectSection(ProjectDependencies) = postProject
-    {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}
-    {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
-  EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_cmdline_test", "gpr_cmdline_test.vcxproj", "{8F260F48-3C22-48A8-9928-A152ABB2EDF2}"
-  ProjectSection(ProjectDependencies) = postProject
-    {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}
-    {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}
-  EndProjectSection
-EndProject
 Global
   GlobalSection(SolutionConfigurationPlatforms) = preSolution
     Debug|Win32 = Debug|Win32
@@ -45,18 +27,6 @@ Global
     {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Debug|Win32.Build.0 = Debug|Win32
     {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|Win32.ActiveCfg = Release|Win32
     {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}.Release|Win32.Build.0 = Release|Win32
-    {19730BF6-7F8C-44EF-ACDC-2CA50C0403E7}.Debug|Win32.ActiveCfg = Debug|Win32
-    {19730BF6-7F8C-44EF-ACDC-2CA50C0403E7}.Debug|Win32.Build.0 = Debug|Win32
-    {19730BF6-7F8C-44EF-ACDC-2CA50C0403E7}.Release|Win32.ActiveCfg = Release|Win32
-    {19730BF6-7F8C-44EF-ACDC-2CA50C0403E7}.Release|Win32.Build.0 = Release|Win32
-    {42B70122-188F-4535-AB74-F061C77068B4}.Debug|Win32.ActiveCfg = Debug|Win32
-    {42B70122-188F-4535-AB74-F061C77068B4}.Debug|Win32.Build.0 = Debug|Win32
-    {42B70122-188F-4535-AB74-F061C77068B4}.Release|Win32.ActiveCfg = Release|Win32
-    {42B70122-188F-4535-AB74-F061C77068B4}.Release|Win32.Build.0 = Release|Win32
-    {8F260F48-3C22-48A8-9928-A152ABB2EDF2}.Debug|Win32.ActiveCfg = Debug|Win32
-    {8F260F48-3C22-48A8-9928-A152ABB2EDF2}.Debug|Win32.Build.0 = Debug|Win32
-    {8F260F48-3C22-48A8-9928-A152ABB2EDF2}.Release|Win32.ActiveCfg = Release|Win32
-    {8F260F48-3C22-48A8-9928-A152ABB2EDF2}.Release|Win32.Build.0 = Release|Win32
   EndGlobalSection
   GlobalSection(SolutionProperties) = preSolution
     HideSolutionNode = FALSE