diff --git a/src/Castle.Core.Tests/Castle.Core.Tests.csproj b/src/Castle.Core.Tests/Castle.Core.Tests.csproj
index 8e90d29..e592849 100644
--- a/src/Castle.Core.Tests/Castle.Core.Tests.csproj
+++ b/src/Castle.Core.Tests/Castle.Core.Tests.csproj
@@ -188,6 +188,9 @@
     <Reference Include="NLog">
       <HintPath>..\..\lib\net45\NLog.dll</HintPath>
     </Reference>
+    <Reference Include="nunit.framework">
+      <HintPath>..\..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <Choose>
     <When Condition="$(TargetFrameworkVersion)!='v3.5'">
@@ -207,31 +210,6 @@
     <Reference Include="System.Core" />
     <Reference Include="System.Xml" />
   </ItemGroup>
-  <Choose>
-    <When Condition="$(MSBuildTargets)!='Silverlight 5.0' and $(MSBuildTargets)!='Silverlight 4.0'">
-      <ItemGroup>
-        <Reference Include="System.Data" />
-        <Reference Include="nunit.framework">
-          <SpecificVersion>False</SpecificVersion>
-          <HintPath>..\..\lib\nunit.framework.dll</HintPath>
-        </Reference>
-      </ItemGroup>
-    </When>
-  </Choose>
-  <Choose>
-    <When Condition="$(MSBuildTargets) == 'Silverlight 5.0' or $(MSBuildTargets) == 'Silverlight 4.0'">
-      <ItemGroup>
-        <Reference Include="NUnit.Silverlight.Framework">
-          <SpecificVersion>False</SpecificVersion>
-          <HintPath>$(RootPath)\lib\$(BuildConfigKey)\NUnit.Silverlight.Framework.dll</HintPath>
-        </Reference>
-        <Reference Include="NUnit.Silverlight.Compatibility">
-          <SpecificVersion>False</SpecificVersion>
-          <HintPath>$(RootPath)\lib\$(BuildConfigKey)\NUnit.Silverlight.Compatibility.dll</HintPath>
-        </Reference>
-      </ItemGroup>
-    </When>
-  </Choose>
   <ItemGroup>
     <Compile Include="AccessLevelTestCase.cs" />
     <Compile Include="BasePEVerifyTestCase.cs" />
@@ -428,6 +406,7 @@
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
     </None>
+    <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Components.DictionaryAdapter.Tests\AdaptingNameValueCollectionsTestCase.cs" />
diff --git a/src/Castle.Core.Tests/DynamicProxy.Tests/ClassProxyWithMethodsWithOptionalParametersTestCase.cs b/src/Castle.Core.Tests/DynamicProxy.Tests/ClassProxyWithMethodsWithOptionalParametersTestCase.cs
index 3966682..cdbc944 100644
--- a/src/Castle.Core.Tests/DynamicProxy.Tests/ClassProxyWithMethodsWithOptionalParametersTestCase.cs
+++ b/src/Castle.Core.Tests/DynamicProxy.Tests/ClassProxyWithMethodsWithOptionalParametersTestCase.cs
@@ -1,38 +1,33 @@
-ï»¿// Copyright 2004-2015 Castle Project - http://www.castleproject.org/
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//     http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#if !DOTNET35 && !SILVERLIGHT
-namespace Castle.DynamicProxy.Tests
-{
-	using CastleTests.DynamicProxy.Tests.Classes;
-
-	using NUnit.Framework;
-
-	[TestFixture]
-	public class ClassProxyWithMethodsWithOptionalParametersTestCase
-	{
-		[Test]
-#if __MonoCS__
-		// Seems like mono is too strict, and doesn't handle a nullable default parameter in ParameterBuilder
-		// https://github.com/mono/mono/blob/master/mcs/class/corlib/System.Reflection.Emit/ParameterBuilder.cs#L101
-		[Ignore("System.ArgumentException : Constant does not match the defined type.")]
-#endif
-		public void CanCreateClassProxy()
-		{
-			var proxyGenerator = new ProxyGenerator();
-			proxyGenerator.CreateClassProxy<ClassWithMethodsWithAllKindsOfOptionalParameters>();
-		}
-	}
-}
+ï»¿// Copyright 2004-2015 Castle Project - http://www.castleproject.org/
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//     http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#if !DOTNET35 && !SILVERLIGHT
+namespace Castle.DynamicProxy.Tests
+{
+	using CastleTests.DynamicProxy.Tests.Classes;
+
+	using NUnit.Framework;
+
+	[TestFixture]
+	public class ClassProxyWithMethodsWithOptionalParametersTestCase
+	{
+		[Test]
+		public void CanCreateClassProxy()
+		{
+			var proxyGenerator = new ProxyGenerator();
+			proxyGenerator.CreateClassProxy<ClassWithMethodsWithAllKindsOfOptionalParameters>();
+		}
+	}
+}
 #endif
\ No newline at end of file
diff --git a/src/Castle.Core.Tests/packages.config b/src/Castle.Core.Tests/packages.config
new file mode 100644
index 0000000..09300da
--- /dev/null
+++ b/src/Castle.Core.Tests/packages.config
@@ -0,0 +1,4 @@
+ï»¿<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="NUnit" version="2.6.4" targetFramework="net45" />
+</packages>
\ No newline at end of file
diff --git a/src/Castle.Core/DynamicProxy/Generators/Emitters/MethodEmitter.cs b/src/Castle.Core/DynamicProxy/Generators/Emitters/MethodEmitter.cs
index af1a548..44772be 100644
--- a/src/Castle.Core/DynamicProxy/Generators/Emitters/MethodEmitter.cs
+++ b/src/Castle.Core/DynamicProxy/Generators/Emitters/MethodEmitter.cs
@@ -156,7 +156,7 @@ namespace Castle.DynamicProxy.Generators.Emitters
 				{
 					parameterBuilder.SetCustomAttribute(attribute);
 				}
-#if DOTNET45
+#if DOTNET45 && !__MonoCS__
 				if (parameter.HasDefaultValue && parameter.DefaultValue != null)
 				{
 					if (parameter.ParameterType == typeof(decimal) || parameter.ParameterType == typeof(decimal?))
