diff --git a/.gitignore b/.gitignore
index 569f38d8..043f3052 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,22 +3,21 @@
*.mode1v3
*.ncb
*.suo
-Debug
-Release
*.user
*.xcuserstate
+*.pyc
.DS_Store
+Debug
+Release
xcuserdata
CatchSelfTest.xcscheme
Breakpoints.xcbkptlist
-projects/VS2010/TestCatch/_UpgradeReport_Files/
-projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj.filters
-projects/VisualStudio/TestCatch/UpgradeLog.XML
UpgradeLog.XML
+projects/VS2010/TestCatch/_UpgradeReport_Files/
+projects/VS2012/TestCatch/TestCatch.sdf
projects/XCode4/iOSTest/Build/Intermediates/PrecompiledHeaders
projects/XCode4/iOSTest/Build/Products/Debug-iphonesimulator/iOSTest.app.dSYM/Contents/Resources/DWARF
projects/XCode4/iOSTest/Build
projects/XCode4/CatchSelfTest/DerivedData
projects/XCode4/OCTest/DerivedData
-*.pyc
projects/XCode4/iOSTest/DerivedData
diff --git a/projects/VS2012/TestCatch/TestCatch.sln b/projects/VS2012/TestCatch/TestCatch.sln
new file mode 100644
index 00000000..f4c8a679
--- /dev/null
+++ b/projects/VS2012/TestCatch/TestCatch.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCatch", "TestCatch\TestCatch.vcxproj", "{A2F23B19-9CF7-4246-AE58-BC65E39C6F7E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A2F23B19-9CF7-4246-AE58-BC65E39C6F7E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A2F23B19-9CF7-4246-AE58-BC65E39C6F7E}.Debug|Win32.Build.0 = Debug|Win32
+ {A2F23B19-9CF7-4246-AE58-BC65E39C6F7E}.Release|Win32.ActiveCfg = Release|Win32
+ {A2F23B19-9CF7-4246-AE58-BC65E39C6F7E}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/projects/VS2012/TestCatch/TestCatch/TestCatch.vcxproj b/projects/VS2012/TestCatch/TestCatch/TestCatch.vcxproj
new file mode 100644
index 00000000..ea43302a
--- /dev/null
+++ b/projects/VS2012/TestCatch/TestCatch/TestCatch.vcxproj
@@ -0,0 +1,208 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {A2F23B19-9CF7-4246-AE58-BC65E39C6F7E}
+ TestCatch
+ Win32Proj
+
+
+
+ Application
+ Unicode
+ true
+ v110
+
+
+ Application
+ Unicode
+ v110
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ true
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ false
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+
+
+
+ Disabled
+ ..\..\..\..\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+
+
+ Level4
+ ProgramDatabase
+ true
+
+
+ true
+ Console
+ MachineX86
+
+
+
+
+ MaxSpeed
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+
+
+ Level4
+ ProgramDatabase
+ ..\..\..\..\include;%(AdditionalIncludeDirectories)
+ true
+ 4702
+
+
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/projects/VS2012/TestCatch/TestCatch/TestCatch.vcxproj.filters b/projects/VS2012/TestCatch/TestCatch/TestCatch.vcxproj.filters
new file mode 100644
index 00000000..cc754d19
--- /dev/null
+++ b/projects/VS2012/TestCatch/TestCatch/TestCatch.vcxproj.filters
@@ -0,0 +1,326 @@
+
+
+
+
+ {63d84cdf-88ed-4157-9925-d4110c5d644c}
+
+
+ {a8624852-b7ef-462f-ab22-00b3680fc515}
+
+
+ {3b41dae5-3938-4806-a3ab-8127891c8dfa}
+
+
+ {e9793132-eb63-42c1-80de-899f69e5b7c3}
+
+
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ internal
+
+
+ reporters
+
+
+ reporters
+
+
+ reporters
+
+
+ reporters
+
+
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+ SelfTest
+
+
+
+
+ SelfTest\Baselines
+
+
+ SelfTest\Baselines
+
+
+ SelfTest\Baselines
+
+
+ SelfTest\Baselines
+
+
+ SelfTest\Baselines
+
+
+
\ No newline at end of file