diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 71a140b7db..1e338b2bf2 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -914,6 +914,8 @@ void cmVisualStudio10TargetGenerator::WriteSdkStyleProjectFile(
Elem e1(e0, "PropertyGroup");
this->WriteCommonPropertyGroupGlobals(e1);
+ e1.Element("Configurations", cmJoinStrings(this->Configurations, ";", ""));
+
e1.Element("EnableDefaultItems", "false");
// Disable the project upgrade prompt that is displayed the first time a
// project using an older toolset version is opened in a newer version
diff --git a/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake b/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake
index 276451d6c7..151b907aaf 100644
--- a/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake
+++ b/Tests/RunCMake/VsDotnetSdk/RunCMakeTest.cmake
@@ -6,6 +6,7 @@ run_cmake(VsDotnetSdkDefines)
run_cmake(DotnetSdkVariables)
run_cmake(VsDotnetSdkXamlFiles)
run_cmake(VsDotnetSdkAssemblyName)
+run_cmake(VsDotnetSdkConfigurations)
function(run_VsDotnetSdk)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/VsDotnetSdk-build)
diff --git a/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations-check.cmake b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations-check.cmake
new file mode 100644
index 0000000000..f7fc6de779
--- /dev/null
+++ b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations-check.cmake
@@ -0,0 +1,20 @@
+set(csProjectFile ${RunCMake_TEST_BINARY_DIR}/foo.csproj)
+
+if(NOT EXISTS "${csProjectFile}")
+ set(RunCMake_TEST_FAILED "Project file ${csProjectFile} does not exist.")
+ return()
+endif()
+
+set(hasConfigurations FALSE)
+
+file(STRINGS "${csProjectFile}" lines)
+
+foreach(line IN LISTS lines)
+ if(line MATCHES "Debug;Release;MinSizeRel;RelWithDebInfo;ExtraTestConfig")
+ set(hasConfigurations TRUE)
+ endif()
+endforeach()
+
+if(NOT hasConfigurations)
+ set(RunCMake_TEST_FAILED " not found in ${csProjectFile}.")
+endif()
diff --git a/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations.cmake b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations.cmake
new file mode 100644
index 0000000000..178cd00f1a
--- /dev/null
+++ b/Tests/RunCMake/VsDotnetSdk/VsDotnetSdkConfigurations.cmake
@@ -0,0 +1,11 @@
+enable_language(CSharp)
+
+if(NOT CMAKE_CSharp_COMPILER)
+ return()
+endif()
+
+set(CMAKE_SHARED_LINKER_FLAGS_EXTRATESTCONFIG "${CMAKE_SHARED_LINKER_FLAGS_Debug}")
+list(APPEND CMAKE_CONFIGURATION_TYPES ExtraTestConfig)
+
+set(CMAKE_DOTNET_SDK "Microsoft.NET.Sdk")
+add_library(foo SHARED lib1.cs)