diff --git a/src/NativeWrappers/ACML/ACMLWrapper.sln b/src/NativeWrappers/ACML/ACMLWrapper.sln
deleted file mode 100644
index 36d3ca4a..00000000
--- a/src/NativeWrappers/ACML/ACMLWrapper.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACMLWrapper", "ACMLWrapper.vcproj", "{434AB06D-DD34-4E12-A296-9B3E72CD56E2}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {434AB06D-DD34-4E12-A296-9B3E72CD56E2}.Debug|Win32.ActiveCfg = Debug|Win32
- {434AB06D-DD34-4E12-A296-9B3E72CD56E2}.Debug|Win32.Build.0 = Debug|Win32
- {434AB06D-DD34-4E12-A296-9B3E72CD56E2}.Release|Win32.ActiveCfg = Release|Win32
- {434AB06D-DD34-4E12-A296-9B3E72CD56E2}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/src/NativeWrappers/MKL/MKLWrapper.sln b/src/NativeWrappers/MKL/MKLWrapper.sln
deleted file mode 100644
index ed2f747d..00000000
--- a/src/NativeWrappers/MKL/MKLWrapper.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MKLWrapper", "MKLWrapper.vcproj", "{C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Win32.ActiveCfg = Debug|Win32
- {C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Debug|Win32.Build.0 = Debug|Win32
- {C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Win32.ActiveCfg = Release|Win32
- {C0B0DBA9-7FB0-4C87-BDB1-3EED19DC2B8F}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/src/NativeWrappers/ATLAS/ATLASWrapper.sln b/src/NativeWrappers/NativeWrappers.sln
similarity index 80%
rename from src/NativeWrappers/ATLAS/ATLASWrapper.sln
rename to src/NativeWrappers/NativeWrappers.sln
index 10518ad8..cdcea157 100644
--- a/src/NativeWrappers/ATLAS/ATLASWrapper.sln
+++ b/src/NativeWrappers/NativeWrappers.sln
@@ -1,7 +1,9 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ATLASWrapper", "ATLASWrapper.vcproj", "{A848B8C9-E72A-4716-A8F1-04104CC2422F}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{5A0892FF-82CE-40FC-BCE1-73810C615F52}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ATLASWrapper", "ATLAS\ATLASWrapper.vcproj", "{A848B8C9-E72A-4716-A8F1-04104CC2422F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/src/Numerics/Threading/AggregateException.cs b/src/Numerics/Threading/AggregateException.cs
index a0e2d22f..0b4d09e3 100644
--- a/src/Numerics/Threading/AggregateException.cs
+++ b/src/Numerics/Threading/AggregateException.cs
@@ -35,6 +35,7 @@ namespace MathNet.Numerics.Threading
///
/// Represents multiple errors that occur during application execution.
///
+ [Serializable]
public class AggregateException : Exception
{
///