diff --git a/Castle.Core.sln b/Castle.Core.sln
index e46e795..66d0121 100644
--- a/Castle.Core.sln
+++ b/Castle.Core.sln
@@ -1,6 +1,6 @@
 ï»¿
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
+# Visual Studio 2012
 VisualStudioVersion = 12.0.31101.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8C53C104-3557-4C1A-B653-C4E6C46DB48E}"
@@ -36,33 +36,18 @@ Global
 		NET40-Debug|Any CPU = NET40-Debug|Any CPU
 		NET40-Release|Any CPU = NET40-Release|Any CPU
 		NET45-Debug|Any CPU = NET45-Debug|Any CPU
-		NET45-Release|Any CPU = NET45-Release|Any CPU
 		SL40-Debug|Any CPU = SL40-Debug|Any CPU
 		SL40-Release|Any CPU = SL40-Release|Any CPU
 		SL50-Debug|Any CPU = SL50-Debug|Any CPU
 		SL50-Release|Any CPU = SL50-Release|Any CPU
+		Mono43-Release|Any CPU = Mono43-Release|Any CPU
+		Mono43-Debug|Any CPU = Mono43-Debug|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Debug|Any CPU.Build.0 = NET35-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Release|Any CPU.Build.0 = NET35-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Debug|Any CPU.ActiveCfg = NET40-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Debug|Any CPU.Build.0 = NET40-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Release|Any CPU.ActiveCfg = NET40-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET45-Release|Any CPU.ActiveCfg = NET45-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET45-Release|Any CPU.Build.0 = NET45-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Debug|Any CPU.Build.0 = SL40-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Release|Any CPU.Build.0 = SL40-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Debug|Any CPU.Build.0 = SL50-Debug|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
-		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Release|Any CPU.Build.0 = SL50-Release|Any CPU
+		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.Mono43-Debug|Any CPU.ActiveCfg = Mono43-Debug|Any CPU
+		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.Mono43-Debug|Any CPU.Build.0 = Mono43-Debug|Any CPU
+		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.Mono43-Release|Any CPU.ActiveCfg = Mono43-Release|Any CPU
+		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.Mono43-Release|Any CPU.Build.0 = Mono43-Release|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET35-Debug|Any CPU.Build.0 = NET35-Debug|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
@@ -73,8 +58,6 @@ Global
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
-		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET45-Release|Any CPU.ActiveCfg = NET45-Release|Any CPU
-		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.NET45-Release|Any CPU.Build.0 = NET45-Release|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.SL40-Debug|Any CPU.Build.0 = SL40-Debug|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
@@ -83,22 +66,41 @@ Global
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.SL50-Debug|Any CPU.Build.0 = SL50-Debug|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
 		{087AD3BF-5E40-450D-8138-FBB5F57AC474}.SL50-Release|Any CPU.Build.0 = SL50-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Debug|Any CPU.Build.0 = NET35-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Release|Any CPU.Build.0 = NET35-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Debug|Any CPU.ActiveCfg = NET40-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Debug|Any CPU.Build.0 = NET40-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Release|Any CPU.ActiveCfg = NET40-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET45-Release|Any CPU.ActiveCfg = NET45-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET45-Release|Any CPU.Build.0 = NET45-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
-		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.Mono43-Debug|Any CPU.ActiveCfg = Mono43-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.Mono43-Debug|Any CPU.Build.0 = Mono43-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.Mono43-Release|Any CPU.ActiveCfg = Mono43-Release|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.Mono43-Release|Any CPU.Build.0 = Mono43-Release|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Debug|Any CPU.ActiveCfg = NET40-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Debug|Any CPU.Build.0 = NET40-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Release|Any CPU.ActiveCfg = NET40-Release|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
+		{15410E1F-E79F-43B6-B403-228768DF793D}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.Mono43-Debug|Any CPU.ActiveCfg = Mono43-Debug|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.Mono43-Release|Any CPU.ActiveCfg = Mono43-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET35-Debug|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET35-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET40-Debug|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Debug|Any CPU.Build.0 = SL40-Debug|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Release|Any CPU.Build.0 = SL40-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Debug|Any CPU.Build.0 = SL50-Debug|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
+		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Release|Any CPU.Build.0 = SL50-Release|Any CPU
+		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.Mono43-Debug|Any CPU.ActiveCfg = Mono43-Debug|Any CPU
+		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.Mono43-Debug|Any CPU.Build.0 = Mono43-Debug|Any CPU
+		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.Mono43-Release|Any CPU.ActiveCfg = Mono43-Release|Any CPU
+		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.Mono43-Release|Any CPU.Build.0 = Mono43-Release|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET35-Debug|Any CPU.Build.0 = NET35-Debug|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
@@ -109,8 +111,6 @@ Global
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
-		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET45-Release|Any CPU.ActiveCfg = NET45-Release|Any CPU
-		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.NET45-Release|Any CPU.Build.0 = NET45-Release|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.SL40-Debug|Any CPU.Build.0 = SL40-Debug|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
@@ -119,34 +119,48 @@ Global
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.SL50-Debug|Any CPU.Build.0 = SL50-Debug|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
 		{D680B5DB-B943-4BB5-891A-1695DEF86A3A}.SL50-Release|Any CPU.Build.0 = SL50-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET35-Debug|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET35-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET40-Debug|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.NET45-Release|Any CPU.ActiveCfg = NET45-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Debug|Any CPU.Build.0 = SL40-Debug|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL40-Release|Any CPU.Build.0 = SL40-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Debug|Any CPU.Build.0 = SL50-Debug|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
-		{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}.SL50-Release|Any CPU.Build.0 = SL50-Release|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Debug|Any CPU.ActiveCfg = NET40-Debug|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Debug|Any CPU.Build.0 = NET40-Debug|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Release|Any CPU.ActiveCfg = NET40-Release|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET45-Release|Any CPU.ActiveCfg = NET45-Release|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.NET45-Release|Any CPU.Build.0 = NET45-Release|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
-		{15410E1F-E79F-43B6-B403-228768DF793D}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.Mono43-Debug|Any CPU.ActiveCfg = Mono43-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.Mono43-Debug|Any CPU.Build.0 = Mono43-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.Mono43-Release|Any CPU.ActiveCfg = Mono43-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.Mono43-Release|Any CPU.Build.0 = Mono43-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Debug|Any CPU.Build.0 = NET35-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET35-Release|Any CPU.Build.0 = NET35-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Debug|Any CPU.ActiveCfg = NET40-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Debug|Any CPU.Build.0 = NET40-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Release|Any CPU.ActiveCfg = NET40-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Debug|Any CPU.Build.0 = SL40-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL40-Release|Any CPU.Build.0 = SL40-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Debug|Any CPU.Build.0 = SL50-Debug|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
+		{E4FA5B53-7D36-429E-8E5C-53D5479242BA}.SL50-Release|Any CPU.Build.0 = SL50-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.Mono43-Debug|Any CPU.ActiveCfg = Mono43-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.Mono43-Debug|Any CPU.Build.0 = Mono43-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.Mono43-Release|Any CPU.ActiveCfg = Mono43-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.Mono43-Release|Any CPU.Build.0 = Mono43-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Debug|Any CPU.ActiveCfg = NET35-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Debug|Any CPU.Build.0 = NET35-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Release|Any CPU.ActiveCfg = NET35-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET35-Release|Any CPU.Build.0 = NET35-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Debug|Any CPU.ActiveCfg = NET40-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Debug|Any CPU.Build.0 = NET40-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Release|Any CPU.ActiveCfg = NET40-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET40-Release|Any CPU.Build.0 = NET40-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET45-Debug|Any CPU.ActiveCfg = NET45-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.NET45-Debug|Any CPU.Build.0 = NET45-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL40-Debug|Any CPU.ActiveCfg = SL40-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL40-Release|Any CPU.ActiveCfg = SL40-Release|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL50-Debug|Any CPU.ActiveCfg = SL50-Debug|Any CPU
+		{FA79D6B4-30B1-444A-A627-ED283BF6406B}.SL50-Release|Any CPU.ActiveCfg = SL50-Release|Any CPU
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/lib/nunit.framework.dll b/lib/nunit.framework.dll
index 07e4c6e..ed6550b 100644
Binary files a/lib/nunit.framework.dll and b/lib/nunit.framework.dll differ
diff --git a/src/Castle.Core.Tests-SL/Castle.Core.Tests-SL.csproj b/src/Castle.Core.Tests-SL/Castle.Core.Tests-SL.csproj
index 7c84647..e57d7e0 100644
--- a/src/Castle.Core.Tests-SL/Castle.Core.Tests-SL.csproj
+++ b/src/Castle.Core.Tests-SL/Castle.Core.Tests-SL.csproj
@@ -10,10 +10,8 @@
     <UpgradeBackupLocation />
   </PropertyGroup>
   <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">SL50-Debug</Configuration>
+    <Configuration Condition=" '$(Configuration)' == '' ">SL40-Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{6EEEC4D0-17B6-474C-AF22-6B8BA2E9DD94}</ProjectGuid>
     <ProjectTypeGuids>{A1591282-1198-4647-A2B1-27E5FF5F6F3B};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
     <OutputType>Library</OutputType>
@@ -100,7 +98,7 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>  
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU'">
     <OutputPath>bin\NET45-Debug\</OutputPath>
     <DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
@@ -113,15 +111,27 @@
     <Prefer32Bit>false</Prefer32Bit>
     <NoConfig>true</NoConfig>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
     <OutputPath>bin\NET45-Release\</OutputPath>
     <DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
-    <Optimize>true</Optimize>
+    <ErrorReport>prompt</ErrorReport>
     <NoStdLib>true</NoStdLib>
-    <DebugType>pdbonly</DebugType>
     <PlatformTarget>AnyCPU</PlatformTarget>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+    <NoConfig>true</NoConfig>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Debug|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\NET45-Debug\</OutputPath>
+    <DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
+    <NoStdLib>true</NoStdLib>
+    <PlatformTarget>AnyCPU</PlatformTarget>
     <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+    <Prefer32Bit>false</Prefer32Bit>
     <NoConfig>true</NoConfig>
   </PropertyGroup>
   <ItemGroup>
@@ -158,7 +168,7 @@
     <None Include="Properties\AppManifest.xml" />
   </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 4.0'" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />  
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />
   <Import Project="$(RootPath)\Settings.proj" />
   <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
diff --git a/src/Castle.Core.Tests/Castle.Core.Tests.csproj b/src/Castle.Core.Tests/Castle.Core.Tests.csproj
index b002075..8e90d29 100644
--- a/src/Castle.Core.Tests/Castle.Core.Tests.csproj
+++ b/src/Castle.Core.Tests/Castle.Core.Tests.csproj
@@ -1,637 +1,656 @@
-ï»¿<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
-  <PropertyGroup>
-    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <TargetFrameworkProfile />
-  </PropertyGroup>
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Release</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{087AD3BF-5E40-450D-8138-FBB5F57AC474}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>CastleTests</RootNamespace>
-    <AssemblyName>Castle.Core.Tests</AssemblyName>
-    <SignAssembly>true</SignAssembly>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <OutputPath>bin\NET40-Debug\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <DefineConstants>TRACE;DEBUG;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <OutputPath>bin\NET40-Release\</OutputPath>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <DefineConstants>TRACE;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <DocumentationFile>
-    </DocumentationFile>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <OutputPath>bin\NET35-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <Optimize>false</Optimize>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <DebugSymbols>true</DebugSymbols>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <OutputPath>bin\NET35-Release\</OutputPath>
-    <DefineConstants>TRACE;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <DocumentationFile>
-    </DocumentationFile>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
-    <OutputPath>bin\SL40-Release\</OutputPath>
-    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
-    <DefineConstants>TRACE;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <DocumentationFile>
-    </DocumentationFile>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
-    <OutputPath>bin\SL40-Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
-    <OutputPath>bin\SL50-Release\</OutputPath>
-    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
-    <DefineConstants>TRACE;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <DocumentationFile>
-    </DocumentationFile>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
-    <OutputPath>bin\SL50-Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\NET45-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
-    <OutputPath>bin\NET45-Release\</OutputPath>
-    <DefineConstants>TRACE;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="adodb, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\lib\net35\adodb.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <Choose>
-    <When Condition="$(TargetFrameworkVersion)!='v3.5'">
-      <ItemGroup>
-        <Reference Include="Microsoft.CSharp" />
-      </ItemGroup>
-    </When>
-  </Choose>
-  <ItemGroup>
-    <Reference Include="NLog">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath Condition="'$(Configuration)' == 'NET35-Release' or '$(Configuration)' == 'NET35-Debug'">..\..\lib\net35\NLog.dll</HintPath>
-      <HintPath Condition="'$(Configuration)' == 'NET40-Release' or '$(Configuration)' == 'NET40-Debug'">..\..\lib\net40\NLog.dll</HintPath>
-      <HintPath Condition="'$(Configuration)' == 'NET45-Release' or '$(Configuration)' == 'NET45-Debug'">..\..\lib\net45\NLog.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Reference Include="Serilog, Version=1.3.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath Condition="'$(Configuration)' == 'NET45-Release' or '$(Configuration)' == 'NET45-Debug'">..\..\lib\net45\Serilog.dll</HintPath>
-      <HintPath Condition="'$(Configuration)' == 'NET40-Release' or '$(Configuration)' == 'NET40-Debug'">..\..\lib\net40\Serilog.dll</HintPath>
-    </Reference>
-    <Reference Include="Serilog.FullNetFX, Version=1.3.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath Condition="'$(Configuration)' == 'NET45-Release' or '$(Configuration)' == 'NET45-Debug'">..\..\lib\net45\Serilog.FullNetFX.dll</HintPath>
-      <HintPath Condition="'$(Configuration)' == 'NET40-Release' or '$(Configuration)' == 'NET40-Debug'">..\..\lib\net40\Serilog.FullNetFX.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Reference Include="Rhino.Mocks.CPP.Interfaces">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\lib\net35\Rhino.Mocks.CPP.Interfaces.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <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" />
-    <Compile Include="BasicClassProxyTestCase.cs" />
-    <Compile Include="BasicInterfaceProxyTestCase.cs" />
-    <Compile Include="BugAttribute.cs" />
-    <Compile Include="BugsReported\Core40.cs" />
-    <Compile Include="BugsReported\DynProxy159.cs" />
-    <Compile Include="BugsReported\DynProxy145_SynchronizationContext.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPhoneWithFetch.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\NameValueCollectionAdapterTests.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithMethodsWithAllKindsOfOptionalParameters.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithMethodWithParameterWithDefaultValue.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithMethodWithParameterWithNullDefaultValue.cs" />
-    <Compile Include="DynamicProxy.Tests\ClassProxyWithDefaultValuesTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\ClassProxyWithMethodsWithOptionalParametersTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\GenericInterfaceWithGenericMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\InterfaceProxyWithMethodsWithOptionalParametersTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\InterfaceWithMethodsWithAllKindsOfOptionalParameters.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\InterfaceWithMethodWithParameterWithNullDefaultValue.cs" />
-    <Compile Include="MultipleSavedAssembliesTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\AdaptingGenericDictionaryTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\VirtualObjectTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\ConflictBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\ReferenceBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlReferenceManagerTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlArrayBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlAttributeBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlElementBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlIncludeBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlSelfBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XPathBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlAdapterAcceptanceTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\DefaultBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlRootBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlTypeBehaviorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Collections\XmlNodeListTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Collections\XmlNodeSetTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlAdapterTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Address.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Color.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\XmlEquivalent.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IEmptyTest.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IBook.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\MemberwiseEqualityHashCodeStrategyTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IUseBehaviorBuilder.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\KeyBehaviorBuilderAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\CustomGetter.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IAddress.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IConversions.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IConversionsToString.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IEnsureMetaDoesNotConflict.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IItemContainer.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IItemContainerWithComponent.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IMutableName.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IName.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\InfrastructureStub.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPerson.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithDeniedInheritancePrefix.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithMethod.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithoutPrefix.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithPrefix.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithPrefixOverride.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithPrefixOverrideFurtherOverride.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithTypePrefixOverride.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IPhone.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\IStringLists.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Phone.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\PhoneConverter.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\XmlStructureComparer.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\DummyLazy.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\MockXmlIncludedTypeMap.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\MockXPathFunction.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\MockXPathVariable.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\NamespaceSource.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathCompilerTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathCursorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathMutableCursorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\DummyXmlNode.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\SysXmlCursorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\SysXmlNodeTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XmlNodeTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathReadableCursorTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathNodeTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlTypeSerializerCacheTestCase.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlTypeSerializerTests.cs" />
-    <Compile Include="Core.Tests\Internal\InterfaceAttributeUtilTestCase.cs" />
-    <Compile Include="Core.Tests\Internal\PermissionUtilTestCase.cs" />
-    <Compile Include="Core.Tests\Internal\WeakKeyDictionaryTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\AbstractClassWithMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithProtectedGenericMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithProtectedMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\Component2.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\EmptyClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\HasCtorWithParamsStrings.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\HasCtorWithIntAndParamsArgument.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\HasCtorWithParamsArgument.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\HasFinalizeMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\HasFinalizer.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\IHasNonInheritableAttributeWithArray.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\HasTwoProtectedMethods.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\IHasNonInheritableAttributeWithArray2.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\InheritsAbstractClassWithMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\NonInheritableAttribute.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\NonInheritableWithArray2Attribute.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\NonInheritableWithArrayAttribute.cs" />
-    <Compile Include="DynamicProxy.Tests\DelegateProxyTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\HasNonInheritableAttribute.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassToSerialize.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithIndexer.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\DiffAccessLevelOnProperties.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\NonPublicConstructorClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\NonPublicMethodsClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ServiceClass.cs" />
-    <Compile Include="ClassWithAttributesTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Explicit\TwoInterfacesExplicit.cs" />
-    <Compile Include="DynamicProxy.Tests\InterceptionRetryTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\InterfaceProxyWithTargetInterfaceAdditionalInterfacesTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnAnyReferenceType.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnAnyTypeWithDefaultConstructor.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnInterface.cs" />
-    <Compile Include="DynamicProxy.Tests\ProxyTypeCachingWithDifferentHooksTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\SerializableClassTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\C.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\ClassWithDirectAndIndirectSelfReference.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\ClassWithIndirectSelfReference.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\ComplexHolder.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\DelegateHolder.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\EventHandlerClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\SerializableExplicitImpl.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\IMixedInterface.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\IndirectDelegateHolder.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\MethodFilterHook.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\SerializableInterceptorSelector.cs" />
-    <Compile Include="DynamicProxy.Tests\Serialization\SerializableMixin.cs" />
-    <Compile Include="GenClasses\ClassWithGenArgs.cs" />
-    <Compile Include="GenClasses\ClassWithIndexer.cs" />
-    <Compile Include="GenClasses\ClassWithMethodWithReturnArrayOfListOfT.cs" />
-    <Compile Include="GenClasses\GenClassNameClash.cs" />
-    <Compile Include="GenClasses\GenClassWithConstraints.cs" />
-    <Compile Include="GenClasses\GenClassWithGenMethods.cs" />
-    <Compile Include="GenClasses\GenClassWithGenMethodsConstrained.cs" />
-    <Compile Include="GenClasses\GenClassWithGenReturn.cs" />
-    <Compile Include="GenClasses\OnlyGenMethodsClass.cs" />
-    <Compile Include="GenerationHookTestCase.cs" />
-    <Compile Include="GenericClassProxyTestCase.cs" />
-    <Compile Include="GenericConstraintsTestCase.cs" />
-    <Compile Include="GenericInterfaceProxyTestCase.cs" />
-    <Compile Include="GenInterfaces\GenInterface.cs" />
-    <Compile Include="GenInterfaces\GenInterfaceWithGenericTypes.cs" />
-    <Compile Include="GenInterfaces\GenInterfaceWithGenMethods.cs" />
-    <Compile Include="GenInterfaces\GenInterfaceWithGenMethodsAndGenReturn.cs" />
-    <Compile Include="GenInterfaces\IConstraint_Method1IsTypeStructAndMethod2.cs" />
-    <Compile Include="GenInterfaces\IHaveGenericMethodWithNewClassStructConstraints.cs" />
-    <Compile Include="Interceptors\LogInvocationInterceptor.cs" />
-    <Compile Include="Interceptors\ProceedNTimesInterceptor.cs" />
-    <Compile Include="Interceptors\ThrowingInterceptor.cs" />
-    <Compile Include="InterClasses\IExtendedService.cs" />
-    <Compile Include="InterClasses\IService.cs" />
-    <Compile Include="InterClasses\ServiceImpl.cs" />
-    <Compile Include="InterClasses\OneAndEmpty.cs" />
-    <Compile Include="InterClasses\WithRefOut.cs" />
-    <Compile Include="InterClasses\WithRefOutEmpty.cs" />
-    <Compile Include="Interfaces\ISimple.cs" />
-    <Compile Include="MethodsWithAttributesOnParametersTestCase.cs" />
-    <Compile Include="MixinTestCase.cs" />
-    <Compile Include="NLogIntegration\NLogTests.cs" />
-    <Compile Include="SerilogIntegration\SerilogTests.cs" />
-    <Compile Include="ThrowingInterceptorException.cs" />
-    <Compile Include="XmlConfigurationDeserializerTests.cs" />
-    <Compile Include="XmlSerializationTestCase.cs" />
-  </ItemGroup>
-  <Choose>
-    <When Condition="$(MSBuildTargets)!='Silverlight 5.0' and $(MSBuildTargets)!='Silverlight 4.0'">
-      <ItemGroup>
-        <Compile Include="log4netIntegration\log4netConfig.Designer.cs">
-          <AutoGen>True</AutoGen>
-          <DesignTime>True</DesignTime>
-          <DependentUpon>log4netConfig.resx</DependentUpon>
-        </Compile>
-        <Compile Include="log4netIntegration\Log4netFactoryTestCase.cs" />
-      </ItemGroup>
-    </When>
-  </Choose>
-  <ItemGroup>
-    <None Include="..\..\buildscripts\CastleKey.snk">
-      <Link>CastleKey.snk</Link>
-    </None>
-    <None Include="App.config">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Components.DictionaryAdapter.Tests\AdaptingNameValueCollectionsTestCase.cs" />
-    <Compile Include="BugsReported\DynProxy132.cs" />
-    <Compile Include="ChangeProxyTargetInterceptor.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\CreateHashtableDictionaryStrategy.cs" />
-    <Compile Include="Components.DictionaryAdapter.Tests\DictionaryAdapterFactoryTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithAttributesOnMethodParameters.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithExplicitInterface.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithInterface.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithVirtualInterface.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWith_Smart_Attribute.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\RequiredAttribute.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithAutoProperty.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithNoDefaultCtor.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithProtectedGenericMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithProtectedMethod.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithPublicField.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtuallyImplementsInterfaceWithEvent.cs" />
-    <Compile Include="DynamicProxy.Tests\ClassProxyWithTargetTestCase.cs" />
-    <Compile Include="ComInterfacesTests.cs" />
-    <Compile Include="DynamicProxy.Tests\Explicit\GenericMethodExplicit.cs" />
-    <Compile Include="DynamicProxy.Tests\Explicit\GenInterfaceExplicit.cs" />
-    <Compile Include="DynamicProxy.Tests\Explicit\SimpleInterfaceExplicit.cs" />
-    <Compile Include="DynamicProxy.Tests\Explicit\WithRefOutExplicit.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\IBase.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\ISub1.cs" />
-    <Compile Include="DynamicProxy.Tests\Interfaces\ISub2.cs" />
-    <Compile Include="DynamicProxy.Tests\ProxyTypeCachingTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\ExplicitInterfaceTestCase.cs" />
-    <Compile Include="CustomAttributesTestCase.cs" />
-    <Compile Include="GenClasses\GenClassWithExplicitImpl.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="GenInterfaces\GenInterfaceWithMethodWithNestedGenericParameter.cs" />
-    <Compile Include="GenInterfaces\GenInterfaceWithMethodWithNestedGenericParameterByRef.cs" />
-    <Compile Include="GenInterfaces\GenInterfaceWithMethodWithNestedGenericReturn.cs" />
-    <Compile Include="IdEqualityHashCodeStrategy.cs" />
-    <Compile Include="Interceptors\AssertCanChangeTargetInterceptor.cs" />
-    <Compile Include="Interceptors\AssertCannotChangeTargetInterceptor.cs" />
-    <Compile Include="Interceptors\CallCountingInterceptor.cs" />
-    <Compile Include="Interceptors\AddTwoInterceptor.cs" />
-    <Compile Include="BaseTestCaseTestCase.cs" />
-    <Compile Include="BasicInterfaceProxyWithoutTargetTestCase.cs" />
-    <Compile Include="BugsReportedTestCase.cs" />
-    <Compile Include="BugsReported\Camera.cs" />
-    <Compile Include="BugsReported\ConstraintViolationInDebuggerTestCase.cs" />
-    <Compile Include="BugsReported\DynProxy46.cs" />
-    <Compile Include="BugsReported\DynProxy88.cs" />
-    <Compile Include="CacheKeyTestCase.cs" />
-    <Compile Include="CanDefineAdditionalCustomAttributes.cs" />
-    <Compile Include="ClassEmitterTestCase.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassCallingVirtualMethodFromCtor.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithCharRetType.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithConstructors.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithVariousConstructors.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithInternalDefaultConstructor.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithProtectedDefaultConstructor.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\MySerializableClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ProtectedInternalConstructorClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\SimpleClass.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassOverridingEqualsAndGetHashCode.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\ClassWithDefaultConstructor.cs" />
-    <Compile Include="DynamicProxy.Tests\ClassProxyConstructorsTestCase.cs" />
-    <Compile Include="Interceptors\DoNothingInterceptor.cs" />
-    <Compile Include="GenClasses\ClassWithMethodWithArrayOfListOfT.cs" />
-    <Compile Include="GenClasses\ClassWithMethodWithGenericOfGenericOfT.cs" />
-    <Compile Include="GenClasses\MethodWithArgumentBeingArrayOfGenericTypeOfT.cs" />
-    <Compile Include="GenericMethodsProxyTestCase.cs" />
-    <Compile Include="DictionarySerializationTestCase.cs" />
-    <Compile Include="GenInterfaces\GenericMethodWhereOneGenParamInheritsTheOther.cs" />
-    <Compile Include="InterClasses\IInterfaceWithGenericMethodWithDependentConstraint.cs" />
-    <Compile Include="InheritedInterfacesTestCase.cs" />
-    <Compile Include="InterceptorSelectorTestCase.cs" />
-    <Compile Include="InterfaceProxyBaseTypeTestCase.cs" />
-    <Compile Include="InterfaceProxyWithTargetInterfaceTestCase.cs" />
-    <Compile Include="Interfaces\IDecimalOutParam.cs" />
-    <Compile Include="Interfaces\IdenticalInterfaces.cs" />
-    <Compile Include="Interfaces\IEmpty.cs" />
-    <Compile Include="Interfaces\IFooWithIntPtr.cs" />
-    <Compile Include="Interfaces\IFooWithOutIntPtr.cs" />
-    <Compile Include="Interfaces\IGenericWithRefOut.cs" />
-    <Compile Include="Interfaces\IHaveIndexers.cs" />
-    <Compile Include="Interfaces\INullable.cs" />
-    <Compile Include="Interfaces\IOne.cs" />
-    <Compile Include="Interfaces\ITwo.cs" />
-    <Compile Include="Interfaces\IWithRefOut.cs" />
-    <Compile Include="InterClasses\One.cs" />
-    <Compile Include="InterClasses\OneTwo.cs" />
-    <Compile Include="InterClasses\Two.cs" />
-    <Compile Include="InvocationMethodInvocationTargetTestCase.cs" />
-    <Compile Include="InvocationTypesCachingTestCase.cs" />
-    <Compile Include="LoggingTestCase.cs" />
-    <Compile Include="MethodEquivalenceTestCase.cs" />
-    <Compile Include="MixinDataTestCase.cs" />
-    <Compile Include="CrossAppDomainCaller.cs" />
-    <Compile Include="MethodComparerTestCase.cs" />
-    <Compile Include="GenericTestUtility.cs" />
-    <Compile Include="GenInterfaces\GenInterfaceHierarchy.cs" />
-    <Compile Include="GenInterfaces\GenExplicitImplementation.cs" />
-    <Compile Include="GenInterfaces\GenInterfaceWithGenArray.cs" />
-    <Compile Include="GenInterfaces\OnlyGenMethodsInterface.cs" />
-    <Compile Include="Interceptors\ChangeTargetInterceptor.cs" />
-    <Compile Include="Interceptors\KeepDataInterceptor.cs" />
-    <Compile Include="InterClasses\AlwaysThrowsServiceImpl.cs" />
-    <Compile Include="InterClasses\ClassWithIndexer.cs" />
-    <Compile Include="InterClasses\ClassWithMarkerInterface.cs" />
-    <Compile Include="InterClasses\ClassWithMultiDimentionalArray.cs" />
-    <Compile Include="InterClasses\IClassWithMultiDimentionalArray.cs" />
-    <Compile Include="InterClasses\IMyInterface2.cs" />
-    <Compile Include="InterClasses\InterfaceWithIndexer.cs" />
-    <Compile Include="InterClasses\IService2.cs" />
-    <Compile Include="InvocationTestCase.cs" />
-    <Compile Include="MethodFinderTestCase.cs" />
-    <Compile Include="Mixins\ClassImplementingIDerivedSImpleMixin.cs" />
-    <Compile Include="Mixins\ClassImplementingISimpleMixin.cs" />
-    <Compile Include="Mixins\ComplexMixin.cs" />
-    <Compile Include="Mixins\IDerivedSimpleMixin.cs" />
-    <Compile Include="Mixins\OtherMixin.cs" />
-    <Compile Include="Mixins\OtherMixinImplementingISimpleMixin.cs" />
-    <Compile Include="Mixins\SimpleMixin.cs" />
-    <Compile Include="ModuleScopeTestCase.cs" />
-    <Compile Include="NonProxiedMethodsNoTargetTestCase.cs" />
-    <Compile Include="NonProxiedMixinMethodsTestCase.cs" />
-    <Compile Include="NonProxiedTargetMethodsTestCase.cs" />
-    <Compile Include="OrderOfInterfacePrecedenceTestCase.cs" />
-    <Compile Include="OutRefParamsTestCase.cs" />
-    <Compile Include="PersistentProxyBuilderTestCase.cs" />
-    <Compile Include="Interceptors\ProceedOnTypeInterceptor.cs" />
-    <Compile Include="Properties\Settings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>
-      <DependentUpon>Settings.settings</DependentUpon>
-    </Compile>
-    <Compile Include="ProxyGenerationOptionsTestCase.cs" />
-    <Compile Include="Interceptors\RequiredParamInterceptor.cs" />
-    <Compile Include="ProxyKind.cs" />
-    <Compile Include="ProxyNothingHook.cs" />
-    <Compile Include="ProxyTargetAccessorHandlingTestCase.cs" />
-    <Compile Include="RhinoMocksTestCase.cs" />
-    <Compile Include="InternalsVisibleTo.cs" />
-    <Compile Include="Interceptors\SetReturnValueInterceptor.cs" />
-    <Compile Include="Interceptors\WithCallbackInterceptor.cs" />
-    <Compile Include="DynamicProxy.Tests\Classes\VirtuallyImplementsInterfaceWithProperty.cs" />
-    <Compile Include="ConsoleLoggerTestCase.cs" />
-    <Compile Include="DiagnosticsLoggerTestCase.cs" />
-    <Compile Include="LevelFilteredLoggerTests.cs" />
-    <Compile Include="MonitorLockTestCase.cs" />
-    <Compile Include="SlimReadWriteLockTestCase.cs" />
-    <Compile Include="ReflectionBasedDictionaryAdapterTestCase.cs" />
-    <Compile Include="Core.Tests\Resources\AssemblyResourceFactoryTestCase.cs" />
-    <Compile Include="Core.Tests\Resources\CustomUriTestCase.cs" />
-    <Compile Include="Core.Tests\Resources\FileResourceFactoryTestCase.cs" />
-    <Compile Include="Core.Tests\Resources\MoreRes\TestRes.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>TestRes.resx</DependentUpon>
-    </Compile>
-    <Compile Include="Core.Tests\Resources\UncResourceFactoryTestCase.cs" />
-    <Compile Include="StreamLoggerTests.cs" />
-    <Compile Include="TestDictionaryValidator.cs" />
-    <Compile Include="TraceLoggerTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="log4netIntegration\log4net.xml" />
-    <EmbeddedResource Include="Core.Tests\Resources\file1.txt">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Core.Tests\Resources\MoreRes\TestRes.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>TestRes.Designer.cs</LastGenOutput>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <Content Include="Core.Tests\Resources\MoreRes\file2.txt" />
-    <EmbeddedResource Include="log4netIntegration\log4netConfig.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>log4netConfig.Designer.cs</LastGenOutput>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Castle.Core\Castle.Core.csproj">
-      <Project>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</Project>
-      <Name>Castle.Core</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\Castle.Services.Logging.NLogIntegration\Castle.Services.Logging.NLogIntegration.csproj">
-      <Project>{D680B5DB-B943-4BB5-891A-1695DEF86A3A}</Project>
-      <Name>Castle.Services.Logging.NLogIntegration</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\Castle.Services.Logging.SerilogIntegration\Castle.Services.Logging.SerilogIntegration.csproj" Condition="'$(Configuration)' == 'NET45-Release' or '$(Configuration)' == 'NET45-Debug' or '$(Configuration)' == 'NET40-Debug' or '$(Configuration)' == 'NET40-Release'">
-      <Project>{15410e1f-e79f-43b6-b403-228768df793d}</Project>
-      <Name>Castle.Services.Logging.SerilogIntegration</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Choose>
-    <When Condition="$(MSBuildTargets)!='Silverlight 5.0' and $(MSBuildTargets)!='Silverlight 4.0'">
-      <ItemGroup>
-        <ProjectReference Include="..\Castle.Services.Logging.log4netIntegration\Castle.Services.Logging.log4netIntegration.csproj">
-          <Project>{FA79D6B4-30B1-444A-A627-ED283BF6406B}</Project>
-          <Name>Castle.Services.Logging.log4netIntegration</Name>
-        </ProjectReference>
-        <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
-          <SpecificVersion>False</SpecificVersion>
-          <HintPath>..\..\lib\net35\log4net.dll</HintPath>
-        </Reference>
-      </ItemGroup>
-    </When>
-  </Choose>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" Condition="($(MSBuildTargets) == '') Or ($(MSBuildTargets) == 'CSharp')" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 4.0'" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />
-  <Import Project="$(RootPath)\Settings.proj" />
-  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
+ï»¿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
+    <TargetFrameworkProfile />
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{087AD3BF-5E40-450D-8138-FBB5F57AC474}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>CastleTests</RootNamespace>
+    <AssemblyName>Castle.Core.Tests</AssemblyName>
+    <SignAssembly>true</SignAssembly>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <OutputPath>bin\NET40-Debug\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <DefineConstants>TRACE;DEBUG;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <OutputPath>bin\NET40-Release\</OutputPath>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <DefineConstants>TRACE;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <Optimize>false</Optimize>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <DebugSymbols>true</DebugSymbols>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Release\</OutputPath>
+    <DefineConstants>TRACE;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
+    <OutputPath>bin\SL40-Release\</OutputPath>
+    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
+    <DefineConstants>TRACE;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
+    <OutputPath>bin\SL40-Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
+    <OutputPath>bin\SL50-Release\</OutputPath>
+    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
+    <DefineConstants>TRACE;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
+    <OutputPath>bin\SL50-Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\NET45-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
+    <OutputPath>bin\NET45-Release\</OutputPath>
+    <DefineConstants>TRACE;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Mono43-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <Prefer32Bit>false</Prefer32Bit>
+    <BuildConfigKey>NET45</BuildConfigKey>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Release|AnyCPU' ">
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Mono43-Release\</OutputPath>
+    <DefineConstants>TRACE;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <BuildConfigKey>NET45</BuildConfigKey>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="ADODB">
+      <HintPath>..\..\lib\net35\adodb.dll</HintPath>
+    </Reference>
+    <Reference Include="Serilog">
+      <HintPath>..\..\lib\net45\Serilog.dll</HintPath>
+    </Reference>
+    <Reference Include="Serilog.FullNetFx">
+      <HintPath>..\..\lib\net45\Serilog.FullNetFX.dll</HintPath>
+    </Reference>
+    <Reference Include="NLog">
+      <HintPath>..\..\lib\net45\NLog.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <Choose>
+    <When Condition="$(TargetFrameworkVersion)!='v3.5'">
+      <ItemGroup>
+        <Reference Include="Microsoft.CSharp" />
+      </ItemGroup>
+    </When>
+  </Choose>
+  <ItemGroup>
+    <!--    <Reference Include="NLog">
+      <HintPath>$(RootPath)\lib\$(BuildConfigKey.ToLower())\NLog.dll</HintPath>
+    </Reference>-->
+    <Reference Include="Rhino.Mocks.CPP.Interfaces">
+      <HintPath>..\..\lib\net35\Rhino.Mocks.CPP.Interfaces.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <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" />
+    <Compile Include="BasicClassProxyTestCase.cs" />
+    <Compile Include="BasicInterfaceProxyTestCase.cs" />
+    <Compile Include="BugAttribute.cs" />
+    <Compile Include="BugsReported\Core40.cs" />
+    <Compile Include="BugsReported\DynProxy159.cs" />
+    <Compile Include="BugsReported\DynProxy145_SynchronizationContext.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPhoneWithFetch.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\NameValueCollectionAdapterTests.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithMethodsWithAllKindsOfOptionalParameters.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithMethodWithParameterWithDefaultValue.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithMethodWithParameterWithNullDefaultValue.cs" />
+    <Compile Include="DynamicProxy.Tests\ClassProxyWithDefaultValuesTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\ClassProxyWithMethodsWithOptionalParametersTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\GenericInterfaceWithGenericMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\InterfaceProxyWithMethodsWithOptionalParametersTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\InterfaceWithMethodsWithAllKindsOfOptionalParameters.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\InterfaceWithMethodWithParameterWithNullDefaultValue.cs" />
+    <Compile Include="MultipleSavedAssembliesTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\AdaptingGenericDictionaryTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\VirtualObjectTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\ConflictBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\ReferenceBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlReferenceManagerTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlArrayBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlAttributeBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlElementBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlIncludeBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlSelfBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XPathBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlAdapterAcceptanceTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\DefaultBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlRootBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Behaviors\XmlTypeBehaviorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Collections\XmlNodeListTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\Collections\XmlNodeSetTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlAdapterTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Address.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Color.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\XmlEquivalent.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IEmptyTest.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IBook.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\MemberwiseEqualityHashCodeStrategyTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IUseBehaviorBuilder.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\KeyBehaviorBuilderAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\CustomGetter.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IAddress.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IConversions.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IConversionsToString.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IEnsureMetaDoesNotConflict.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IItemContainer.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IItemContainerWithComponent.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IMutableName.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IName.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\InfrastructureStub.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPerson.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithDeniedInheritancePrefix.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithMethod.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithoutPrefix.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithPrefix.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithPrefixOverride.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithPrefixOverrideFurtherOverride.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPersonWithTypePrefixOverride.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IPhone.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\IStringLists.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Phone.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\PhoneConverter.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\XmlStructureComparer.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\DummyLazy.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\MockXmlIncludedTypeMap.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\MockXPathFunction.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\MockXPathVariable.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\NamespaceSource.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathCompilerTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathCursorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathMutableCursorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\DummyXmlNode.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\SysXmlCursorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\SysXmlNodeTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XmlNodeTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathReadableCursorTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlApis\XPathNodeTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlTypeSerializerCacheTestCase.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\Xml\XmlTypeSerializerTests.cs" />
+    <Compile Include="Core.Tests\Internal\InterfaceAttributeUtilTestCase.cs" />
+    <Compile Include="Core.Tests\Internal\PermissionUtilTestCase.cs" />
+    <Compile Include="Core.Tests\Internal\WeakKeyDictionaryTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\AbstractClassWithMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithProtectedGenericMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithProtectedMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\Component2.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\EmptyClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\HasCtorWithParamsStrings.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\HasCtorWithIntAndParamsArgument.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\HasCtorWithParamsArgument.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\HasFinalizeMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\HasFinalizer.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\IHasNonInheritableAttributeWithArray.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\HasTwoProtectedMethods.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\IHasNonInheritableAttributeWithArray2.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\InheritsAbstractClassWithMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\NonInheritableAttribute.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\NonInheritableWithArray2Attribute.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\NonInheritableWithArrayAttribute.cs" />
+    <Compile Include="DynamicProxy.Tests\DelegateProxyTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\HasNonInheritableAttribute.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassToSerialize.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithIndexer.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\DiffAccessLevelOnProperties.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\NonPublicConstructorClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\NonPublicMethodsClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ServiceClass.cs" />
+    <Compile Include="ClassWithAttributesTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Explicit\TwoInterfacesExplicit.cs" />
+    <Compile Include="DynamicProxy.Tests\InterceptionRetryTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\InterfaceProxyWithTargetInterfaceAdditionalInterfacesTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnAnyReferenceType.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnAnyTypeWithDefaultConstructor.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\IGenericInterfaceWithGenericMethodWithCascadingConstraintOnInterface.cs" />
+    <Compile Include="DynamicProxy.Tests\ProxyTypeCachingWithDifferentHooksTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\SerializableClassTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\C.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\ClassWithDirectAndIndirectSelfReference.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\ClassWithIndirectSelfReference.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\ComplexHolder.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\DelegateHolder.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\EventHandlerClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\SerializableExplicitImpl.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\IMixedInterface.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\IndirectDelegateHolder.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\MethodFilterHook.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\SerializableInterceptorSelector.cs" />
+    <Compile Include="DynamicProxy.Tests\Serialization\SerializableMixin.cs" />
+    <Compile Include="GenClasses\ClassWithGenArgs.cs" />
+    <Compile Include="GenClasses\ClassWithIndexer.cs" />
+    <Compile Include="GenClasses\ClassWithMethodWithReturnArrayOfListOfT.cs" />
+    <Compile Include="GenClasses\GenClassNameClash.cs" />
+    <Compile Include="GenClasses\GenClassWithConstraints.cs" />
+    <Compile Include="GenClasses\GenClassWithGenMethods.cs" />
+    <Compile Include="GenClasses\GenClassWithGenMethodsConstrained.cs" />
+    <Compile Include="GenClasses\GenClassWithGenReturn.cs" />
+    <Compile Include="GenClasses\OnlyGenMethodsClass.cs" />
+    <Compile Include="GenerationHookTestCase.cs" />
+    <Compile Include="GenericClassProxyTestCase.cs" />
+    <Compile Include="GenericConstraintsTestCase.cs" />
+    <Compile Include="GenericInterfaceProxyTestCase.cs" />
+    <Compile Include="GenInterfaces\GenInterface.cs" />
+    <Compile Include="GenInterfaces\GenInterfaceWithGenericTypes.cs" />
+    <Compile Include="GenInterfaces\GenInterfaceWithGenMethods.cs" />
+    <Compile Include="GenInterfaces\GenInterfaceWithGenMethodsAndGenReturn.cs" />
+    <Compile Include="GenInterfaces\IConstraint_Method1IsTypeStructAndMethod2.cs" />
+    <Compile Include="GenInterfaces\IHaveGenericMethodWithNewClassStructConstraints.cs" />
+    <Compile Include="Interceptors\LogInvocationInterceptor.cs" />
+    <Compile Include="Interceptors\ProceedNTimesInterceptor.cs" />
+    <Compile Include="Interceptors\ThrowingInterceptor.cs" />
+    <Compile Include="InterClasses\IExtendedService.cs" />
+    <Compile Include="InterClasses\IService.cs" />
+    <Compile Include="InterClasses\ServiceImpl.cs" />
+    <Compile Include="InterClasses\OneAndEmpty.cs" />
+    <Compile Include="InterClasses\WithRefOut.cs" />
+    <Compile Include="InterClasses\WithRefOutEmpty.cs" />
+    <Compile Include="Interfaces\ISimple.cs" />
+    <Compile Include="MethodsWithAttributesOnParametersTestCase.cs" />
+    <Compile Include="MixinTestCase.cs" />
+    <Compile Include="NLogIntegration\NLogTests.cs" />
+    <Compile Include="SerilogIntegration\SerilogTests.cs" />
+    <Compile Include="ThrowingInterceptorException.cs" />
+    <Compile Include="XmlConfigurationDeserializerTests.cs" />
+    <Compile Include="XmlSerializationTestCase.cs" />
+  </ItemGroup>
+  <Choose>
+    <When Condition="$(MSBuildTargets)!='Silverlight 5.0' and $(MSBuildTargets)!='Silverlight 4.0'">
+      <ItemGroup>
+        <Compile Include="log4netIntegration\log4netConfig.Designer.cs">
+          <AutoGen>True</AutoGen>
+          <DesignTime>True</DesignTime>
+          <DependentUpon>log4netConfig.resx</DependentUpon>
+        </Compile>
+        <Compile Include="log4netIntegration\Log4netFactoryTestCase.cs" />
+      </ItemGroup>
+    </When>
+  </Choose>
+  <ItemGroup>
+    <None Include="..\..\buildscripts\CastleKey.snk">
+      <Link>CastleKey.snk</Link>
+    </None>
+    <None Include="App.config">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Components.DictionaryAdapter.Tests\AdaptingNameValueCollectionsTestCase.cs" />
+    <Compile Include="BugsReported\DynProxy132.cs" />
+    <Compile Include="ChangeProxyTargetInterceptor.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\CreateHashtableDictionaryStrategy.cs" />
+    <Compile Include="Components.DictionaryAdapter.Tests\DictionaryAdapterFactoryTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithAttributesOnMethodParameters.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithExplicitInterface.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithInterface.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithVirtualInterface.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWith_Smart_Attribute.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\RequiredAttribute.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithAutoProperty.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithNoDefaultCtor.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithProtectedGenericMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithProtectedMethod.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtualClassWithPublicField.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtuallyImplementsInterfaceWithEvent.cs" />
+    <Compile Include="DynamicProxy.Tests\ClassProxyWithTargetTestCase.cs" />
+    <Compile Include="ComInterfacesTests.cs" />
+    <Compile Include="DynamicProxy.Tests\Explicit\GenericMethodExplicit.cs" />
+    <Compile Include="DynamicProxy.Tests\Explicit\GenInterfaceExplicit.cs" />
+    <Compile Include="DynamicProxy.Tests\Explicit\SimpleInterfaceExplicit.cs" />
+    <Compile Include="DynamicProxy.Tests\Explicit\WithRefOutExplicit.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\IBase.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\ISub1.cs" />
+    <Compile Include="DynamicProxy.Tests\Interfaces\ISub2.cs" />
+    <Compile Include="DynamicProxy.Tests\ProxyTypeCachingTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\ExplicitInterfaceTestCase.cs" />
+    <Compile Include="CustomAttributesTestCase.cs" />
+    <Compile Include="GenClasses\GenClassWithExplicitImpl.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="GenInterfaces\GenInterfaceWithMethodWithNestedGenericParameter.cs" />
+    <Compile Include="GenInterfaces\GenInterfaceWithMethodWithNestedGenericParameterByRef.cs" />
+    <Compile Include="GenInterfaces\GenInterfaceWithMethodWithNestedGenericReturn.cs" />
+    <Compile Include="IdEqualityHashCodeStrategy.cs" />
+    <Compile Include="Interceptors\AssertCanChangeTargetInterceptor.cs" />
+    <Compile Include="Interceptors\AssertCannotChangeTargetInterceptor.cs" />
+    <Compile Include="Interceptors\CallCountingInterceptor.cs" />
+    <Compile Include="Interceptors\AddTwoInterceptor.cs" />
+    <Compile Include="BaseTestCaseTestCase.cs" />
+    <Compile Include="BasicInterfaceProxyWithoutTargetTestCase.cs" />
+    <Compile Include="BugsReportedTestCase.cs" />
+    <Compile Include="BugsReported\Camera.cs" />
+    <Compile Include="BugsReported\ConstraintViolationInDebuggerTestCase.cs" />
+    <Compile Include="BugsReported\DynProxy46.cs" />
+    <Compile Include="BugsReported\DynProxy88.cs" />
+    <Compile Include="CacheKeyTestCase.cs" />
+    <Compile Include="CanDefineAdditionalCustomAttributes.cs" />
+    <Compile Include="ClassEmitterTestCase.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassCallingVirtualMethodFromCtor.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithCharRetType.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithConstructors.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithVariousConstructors.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithInternalDefaultConstructor.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithProtectedDefaultConstructor.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\MySerializableClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ProtectedInternalConstructorClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\SimpleClass.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassOverridingEqualsAndGetHashCode.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\ClassWithDefaultConstructor.cs" />
+    <Compile Include="DynamicProxy.Tests\ClassProxyConstructorsTestCase.cs" />
+    <Compile Include="Interceptors\DoNothingInterceptor.cs" />
+    <Compile Include="GenClasses\ClassWithMethodWithArrayOfListOfT.cs" />
+    <Compile Include="GenClasses\ClassWithMethodWithGenericOfGenericOfT.cs" />
+    <Compile Include="GenClasses\MethodWithArgumentBeingArrayOfGenericTypeOfT.cs" />
+    <Compile Include="GenericMethodsProxyTestCase.cs" />
+    <Compile Include="DictionarySerializationTestCase.cs" />
+    <Compile Include="GenInterfaces\GenericMethodWhereOneGenParamInheritsTheOther.cs" />
+    <Compile Include="InterClasses\IInterfaceWithGenericMethodWithDependentConstraint.cs" />
+    <Compile Include="InheritedInterfacesTestCase.cs" />
+    <Compile Include="InterceptorSelectorTestCase.cs" />
+    <Compile Include="InterfaceProxyBaseTypeTestCase.cs" />
+    <Compile Include="InterfaceProxyWithTargetInterfaceTestCase.cs" />
+    <Compile Include="Interfaces\IDecimalOutParam.cs" />
+    <Compile Include="Interfaces\IdenticalInterfaces.cs" />
+    <Compile Include="Interfaces\IEmpty.cs" />
+    <Compile Include="Interfaces\IFooWithIntPtr.cs" />
+    <Compile Include="Interfaces\IFooWithOutIntPtr.cs" />
+    <Compile Include="Interfaces\IGenericWithRefOut.cs" />
+    <Compile Include="Interfaces\IHaveIndexers.cs" />
+    <Compile Include="Interfaces\INullable.cs" />
+    <Compile Include="Interfaces\IOne.cs" />
+    <Compile Include="Interfaces\ITwo.cs" />
+    <Compile Include="Interfaces\IWithRefOut.cs" />
+    <Compile Include="InterClasses\One.cs" />
+    <Compile Include="InterClasses\OneTwo.cs" />
+    <Compile Include="InterClasses\Two.cs" />
+    <Compile Include="InvocationMethodInvocationTargetTestCase.cs" />
+    <Compile Include="InvocationTypesCachingTestCase.cs" />
+    <Compile Include="LoggingTestCase.cs" />
+    <Compile Include="MethodEquivalenceTestCase.cs" />
+    <Compile Include="MixinDataTestCase.cs" />
+    <Compile Include="CrossAppDomainCaller.cs" />
+    <Compile Include="MethodComparerTestCase.cs" />
+    <Compile Include="GenericTestUtility.cs" />
+    <Compile Include="GenInterfaces\GenInterfaceHierarchy.cs" />
+    <Compile Include="GenInterfaces\GenExplicitImplementation.cs" />
+    <Compile Include="GenInterfaces\GenInterfaceWithGenArray.cs" />
+    <Compile Include="GenInterfaces\OnlyGenMethodsInterface.cs" />
+    <Compile Include="Interceptors\ChangeTargetInterceptor.cs" />
+    <Compile Include="Interceptors\KeepDataInterceptor.cs" />
+    <Compile Include="InterClasses\AlwaysThrowsServiceImpl.cs" />
+    <Compile Include="InterClasses\ClassWithIndexer.cs" />
+    <Compile Include="InterClasses\ClassWithMarkerInterface.cs" />
+    <Compile Include="InterClasses\ClassWithMultiDimentionalArray.cs" />
+    <Compile Include="InterClasses\IClassWithMultiDimentionalArray.cs" />
+    <Compile Include="InterClasses\IMyInterface2.cs" />
+    <Compile Include="InterClasses\InterfaceWithIndexer.cs" />
+    <Compile Include="InterClasses\IService2.cs" />
+    <Compile Include="InvocationTestCase.cs" />
+    <Compile Include="MethodFinderTestCase.cs" />
+    <Compile Include="Mixins\ClassImplementingIDerivedSImpleMixin.cs" />
+    <Compile Include="Mixins\ClassImplementingISimpleMixin.cs" />
+    <Compile Include="Mixins\ComplexMixin.cs" />
+    <Compile Include="Mixins\IDerivedSimpleMixin.cs" />
+    <Compile Include="Mixins\OtherMixin.cs" />
+    <Compile Include="Mixins\OtherMixinImplementingISimpleMixin.cs" />
+    <Compile Include="Mixins\SimpleMixin.cs" />
+    <Compile Include="ModuleScopeTestCase.cs" />
+    <Compile Include="NonProxiedMethodsNoTargetTestCase.cs" />
+    <Compile Include="NonProxiedMixinMethodsTestCase.cs" />
+    <Compile Include="NonProxiedTargetMethodsTestCase.cs" />
+    <Compile Include="OrderOfInterfacePrecedenceTestCase.cs" />
+    <Compile Include="OutRefParamsTestCase.cs" />
+    <Compile Include="PersistentProxyBuilderTestCase.cs" />
+    <Compile Include="Interceptors\ProceedOnTypeInterceptor.cs" />
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <DependentUpon>Settings.settings</DependentUpon>
+    </Compile>
+    <Compile Include="ProxyGenerationOptionsTestCase.cs" />
+    <Compile Include="Interceptors\RequiredParamInterceptor.cs" />
+    <Compile Include="ProxyKind.cs" />
+    <Compile Include="ProxyNothingHook.cs" />
+    <Compile Include="ProxyTargetAccessorHandlingTestCase.cs" />
+    <Compile Include="RhinoMocksTestCase.cs" />
+    <Compile Include="InternalsVisibleTo.cs" />
+    <Compile Include="Interceptors\SetReturnValueInterceptor.cs" />
+    <Compile Include="Interceptors\WithCallbackInterceptor.cs" />
+    <Compile Include="DynamicProxy.Tests\Classes\VirtuallyImplementsInterfaceWithProperty.cs" />
+    <Compile Include="ConsoleLoggerTestCase.cs" />
+    <Compile Include="DiagnosticsLoggerTestCase.cs" />
+    <Compile Include="LevelFilteredLoggerTests.cs" />
+    <Compile Include="MonitorLockTestCase.cs" />
+    <Compile Include="SlimReadWriteLockTestCase.cs" />
+    <Compile Include="ReflectionBasedDictionaryAdapterTestCase.cs" />
+    <Compile Include="Core.Tests\Resources\AssemblyResourceFactoryTestCase.cs" />
+    <Compile Include="Core.Tests\Resources\CustomUriTestCase.cs" />
+    <Compile Include="Core.Tests\Resources\FileResourceFactoryTestCase.cs" />
+    <Compile Include="Core.Tests\Resources\MoreRes\TestRes.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>TestRes.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Core.Tests\Resources\UncResourceFactoryTestCase.cs" />
+    <Compile Include="StreamLoggerTests.cs" />
+    <Compile Include="TestDictionaryValidator.cs" />
+    <Compile Include="TraceLoggerTests.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="log4netIntegration\log4net.xml" />
+    <EmbeddedResource Include="Core.Tests\Resources\file1.txt">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Core.Tests\Resources\MoreRes\TestRes.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>TestRes.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Content Include="Core.Tests\Resources\MoreRes\file2.txt" />
+    <EmbeddedResource Include="log4netIntegration\log4netConfig.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>log4netConfig.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+  </ItemGroup>
+  <Choose>
+    <When Condition="$(MSBuildTargets)!='Silverlight 5.0' and $(MSBuildTargets)!='Silverlight 4.0'">
+      <ItemGroup>
+        <ProjectReference Include="..\Castle.Services.Logging.log4netIntegration\Castle.Services.Logging.log4netIntegration.csproj">
+          <Project>{FA79D6B4-30B1-444A-A627-ED283BF6406B}</Project>
+          <Name>Castle.Services.Logging.log4netIntegration</Name>
+        </ProjectReference>
+        <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
+          <SpecificVersion>False</SpecificVersion>
+          <HintPath>..\..\lib\net35\log4net.dll</HintPath>
+        </Reference>
+      </ItemGroup>
+    </When>
+  </Choose>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" Condition="($(MSBuildTargets) == '') Or ($(MSBuildTargets) == 'CSharp')" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 4.0'" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />
+  <Import Project="$(RootPath)\Settings.proj" />
+  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <ItemGroup>
+    <ProjectReference Include="..\Castle.Core\Castle.Core.csproj">
+      <Project>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</Project>
+      <Name>Castle.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\Castle.Services.Logging.log4netIntegration\Castle.Services.Logging.log4netIntegration.csproj">
+      <Project>{FA79D6B4-30B1-444A-A627-ED283BF6406B}</Project>
+      <Name>Castle.Services.Logging.log4netIntegration</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\Castle.Services.Logging.NLogIntegration\Castle.Services.Logging.NLogIntegration.csproj">
+      <Project>{D680B5DB-B943-4BB5-891A-1695DEF86A3A}</Project>
+      <Name>Castle.Services.Logging.NLogIntegration</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\Castle.Services.Logging.SerilogIntegration\Castle.Services.Logging.SerilogIntegration.csproj">
+      <Project>{15410E1F-E79F-43B6-B403-228768DF793D}</Project>
+      <Name>Castle.Services.Logging.SerilogIntegration</Name>
+    </ProjectReference>
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/Castle.Core.Tests/GenericClassProxyTestCase.cs b/src/Castle.Core.Tests/GenericClassProxyTestCase.cs
index f61fb0b..da325cb 100644
--- a/src/Castle.Core.Tests/GenericClassProxyTestCase.cs
+++ b/src/Castle.Core.Tests/GenericClassProxyTestCase.cs
@@ -1,350 +1,352 @@
-// Copyright 2004-2013 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.
-
-namespace Castle.DynamicProxy.Tests
-{
-	using System;
-	using System.Collections.Generic;
-	using Castle.DynamicProxy.Generators;
-	using Castle.DynamicProxy.Tests.GenClasses;
-	using Castle.DynamicProxy.Tests.Interceptors;
-	using NUnit.Framework;
-
-	[TestFixture]
-	public class GenericClassProxyTestCase : BasePEVerifyTestCase
-	{
-		private LogInvocationInterceptor logger;
-
-		public override void Init()
-		{
-			base.Init();
-			logger = new LogInvocationInterceptor();
-		}
-
-		[Test]
-		public void ProxyWithGenericArgument()
-		{
-			ClassWithGenArgs<int> proxy = generator.CreateClassProxy<ClassWithGenArgs<int>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomething();
-
-			Assert.IsTrue(proxy.Invoked);
-
-			proxy.AProperty = true;
-			Assert.IsTrue(proxy.AProperty);
-
-			Assert.AreEqual("DoSomething set_AProperty get_AProperty ", logger.LogContents);
-		}
-
-		[Test]
-		public void ProxyWithGenericArguments()
-		{
-			ClassWithGenArgs<int, string> proxy = generator.CreateClassProxy<ClassWithGenArgs<int, string>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomething();
-
-			Assert.IsTrue(proxy.Invoked);
-
-			proxy.AProperty = true;
-			Assert.IsTrue(proxy.AProperty);
-
-			Assert.AreEqual("DoSomething set_AProperty get_AProperty ", logger.LogContents);
-		}
-
-		[Test]
-		public void ProxyWithGenericArgumentsWithBaseGenericClass()
-		{
-			SubClassWithGenArgs<int, string, int> proxy =
-				generator.CreateClassProxy<SubClassWithGenArgs<int, string, int>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomething();
-
-			Assert.IsTrue(proxy.Invoked);
-
-			proxy.AProperty = true;
-			Assert.IsTrue(proxy.AProperty);
-
-			Assert.AreEqual("DoSomething set_AProperty get_AProperty ", logger.LogContents);
-		}
-
-		[Test]
-		public void ProxyWithGenericArgumentsAndArgumentConstraints()
-		{
-			GenClassWithConstraints<int> proxy = generator.CreateClassProxy<GenClassWithConstraints<int>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomething();
-
-			Assert.IsTrue(proxy.Invoked);
-
-			Assert.AreEqual("DoSomething ", logger.LogContents);
-		}
-
-		[Test]
-		public void GenericProxyWithIndexer()
-		{
-			object proxy = generator.CreateClassProxy<ClassWithIndexer<string, int>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			ClassWithIndexer<string, int> type = (ClassWithIndexer<string, int>) proxy;
-
-			type["name"] = 10;
-			Assert.AreEqual(10, type["name"]);
-
-			Assert.AreEqual("set_Item get_Item ", logger.LogContents);
-		}
-
-		[Test]
-		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
-			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
-		public void ProxyWithMethodReturningGenericOfGenericOfT()
-		{
-			var proxy = generator.CreateClassProxy<ClassWithMethodWithReturnArrayOfListOfT>();
-			proxy.GenericMethodReturnsListArray<string>();
-			proxy.GenericMethodReturnsGenericOfGenericType<int>();
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void ProxyWithGenericArgumentsAndMethodGenericArguments()
-		{
-			GenClassWithGenMethods<List<object>> proxy =
-				generator.CreateClassProxy<GenClassWithGenMethods<List<object>>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomething("z param");
-
-			Assert.IsTrue(proxy.Invoked);
-			Assert.AreEqual("z param", proxy.SavedParam);
-			Assert.AreEqual("DoSomething ", logger.LogContents);
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void ProxyWithGenericArgumentsAndMethodGenericArgumentsWithConstraints()
-		{
-			GenClassWithGenMethodsConstrained<List<object>> proxy =
-				generator.CreateClassProxy<GenClassWithGenMethodsConstrained<List<object>>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomething("z param");
-
-			Assert.IsTrue(proxy.Invoked);
-			Assert.AreEqual("z param", proxy.SavedParam);
-			Assert.AreEqual("DoSomething ", logger.LogContents);
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void ProxyWithGenericArgumentsAndMethodGenericArgumentsWithOneNotDefinedOnType()
-		{
-			GenClassWithGenMethods<List<object>> proxy =
-				generator.CreateClassProxy<GenClassWithGenMethods<List<object>>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			int value1 = 10;
-
-			proxy.DoSomethingElse<string>(delegate(int param1) { return param1.ToString(); }, value1);
-
-			Assert.IsTrue(proxy.Invoked);
-			Assert.AreEqual("10", proxy.SavedParam);
-			Assert.AreEqual("DoSomethingElse ", logger.LogContents);
-		}
-
-		[Test]
-		public void ProxyWithGenericArgumentsAndMethodGenericReturn()
-		{
-			GenClassWithGenReturn<List<object>, List<object>> proxy =
-				generator.CreateClassProxy<GenClassWithGenReturn<List<object>, List<object>>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			object ret1 = proxy.DoSomethingT();
-			object ret2 = proxy.DoSomethingZ();
-
-			Assert.IsInstanceOf(typeof (List<object>), ret1);
-			Assert.IsInstanceOf(typeof (List<object>), ret2);
-			Assert.AreEqual("DoSomethingT DoSomethingZ ", logger.LogContents);
-		}
-
-		[Test]
-		public void GenericMethodArgumentsAndTypeGenericArgumentsWithSameName()
-		{
-			GenClassNameClash<List<object>, List<object>> proxy =
-				generator.CreateClassProxy<GenClassNameClash<List<object>, List<object>>>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomethingT<int>(1);
-			proxy.DoSomethingZ<long>(1L);
-			proxy.DoSomethingTX<int, string>(1, "a");
-			proxy.DoSomethingZX<long, string>(1L, "b");
-
-			Assert.AreEqual("DoSomethingT DoSomethingZ DoSomethingTX DoSomethingZX ", logger.LogContents);
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void ClassWithGenMethodOnly()
-		{
-			OnlyGenMethodsClass proxy =
-				generator.CreateClassProxy<OnlyGenMethodsClass>(logger);
-
-			Assert.IsNotNull(proxy);
-
-			proxy.DoSomething(new List<object>());
-
-			Assert.IsTrue(proxy.Invoked);
-			Assert.AreEqual("DoSomething ", logger.LogContents);
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void MethodInfoClosedInGenTypeGenMethodRefType()
-		{
-			KeepDataInterceptor interceptor = new KeepDataInterceptor();
-			GenClassWithGenMethods<List<object>> proxy = generator.CreateClassProxy<GenClassWithGenMethods<List<object>>>(interceptor);
-
-			proxy.DoSomething(1);
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (List<object>),
-			                                           typeof (int));
-
-			proxy.DoSomething(new List<object>());
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (List<object>),
-			                                           typeof (List<object>));
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void MethodInfoClosedInGenTypeGenMethodValueType()
-		{
-			KeepDataInterceptor interceptor = new KeepDataInterceptor();
-			GenClassWithGenMethods<int> proxy = generator.CreateClassProxy<GenClassWithGenMethods<int>>(interceptor);
-
-			proxy.DoSomething(1);
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (int), typeof (int));
-
-			proxy.DoSomething(new List<object>());
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (int),
-			                                           typeof (List<object>));
-		}
-
-		[Test]
-		public void MethodInfoClosedInGenTypeNongenMethodRefTypeRefType()
-		{
-			KeepDataInterceptor interceptor = new KeepDataInterceptor();
-			GenClassWithGenReturn<List<object>, List<object>> proxy =
-				generator.CreateClassProxy<GenClassWithGenReturn<List<object>, List<object>>>(interceptor);
-
-			proxy.DoSomethingT();
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(List<object>));
-
-			proxy.DoSomethingZ();
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof(List<object>));
-		}
-
-		[Test]
-		public void MethodInfoClosedInGenTypeNongenMethodValueTypeValueType()
-		{
-			KeepDataInterceptor interceptor = new KeepDataInterceptor();
-			GenClassWithGenReturn<int, int> proxy = generator.CreateClassProxy<GenClassWithGenReturn<int, int>>(interceptor);
-
-			proxy.DoSomethingT();
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (int));
-			Assert.AreEqual(interceptor.Invocation.GetConcreteMethod(),
-							interceptor.Invocation.GetConcreteMethodInvocationTarget().GetBaseDefinition());
-
-			proxy.DoSomethingZ();
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (int));
-			Assert.AreEqual(interceptor.Invocation.GetConcreteMethod(),
-							interceptor.Invocation.GetConcreteMethodInvocationTarget().GetBaseDefinition());
-		}
-
-		[Test]
-		public void MethodInfoClosedInGenTypeNongenMethodValueTypeRefType()
-		{
-			KeepDataInterceptor interceptor = new KeepDataInterceptor();
-			GenClassWithGenReturn<int, List<object>> proxy =
-				generator.CreateClassProxy<GenClassWithGenReturn<int, List<object>>>(interceptor);
-
-			proxy.DoSomethingT();
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (int));
-			Assert.AreEqual(interceptor.Invocation.GetConcreteMethod(),
-			                interceptor.Invocation.GetConcreteMethodInvocationTarget().GetBaseDefinition());
-
-			proxy.DoSomethingZ();
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (List<object>));
-			Assert.AreEqual(interceptor.Invocation.GetConcreteMethod(),
-							interceptor.Invocation.GetConcreteMethodInvocationTarget().GetBaseDefinition());
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void MethodInfoClosedInNongenTypeGenMethod()
-		{
-			KeepDataInterceptor interceptor = new KeepDataInterceptor();
-			OnlyGenMethodsClass proxy = generator.CreateClassProxy<OnlyGenMethodsClass>(interceptor);
-
-			proxy.DoSomething(1);
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (int), typeof (int));
-
-			proxy.DoSomething(new List<object>());
-			GenericTestUtility.CheckMethodInfoIsClosed(interceptor.Invocation.GetConcreteMethod(), typeof (List<object>),
-			                                           typeof (List<object>));
-		}
-
-		[Test]
-		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
-			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
-		public void TypeWithGenericMethodHavingArgumentBeingGenericArrayOfT()
-		{
-			var proxy = generator.CreateClassProxy<MethodWithArgumentBeingArrayOfGenericTypeOfT>();
-			Assert.IsNotNull(proxy);
-			proxy.Method(new Action<string>[0]);
-		}
-
-		[Test]
-		[ExpectedException(typeof (GeneratorException))]
-		public void ThrowsWhenProxyingGenericTypeDefNoTarget()
-		{
-			KeepDataInterceptor interceptor = new KeepDataInterceptor();
-			object o = generator.CreateClassProxy(typeof (GenClassWithGenReturn<,>), interceptor);
-		}
-	}
-}
+// Copyright 2004-2013 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.
+
+namespace Castle.DynamicProxy.Tests
+{
+	using System;
+	using System.Collections.Generic;
+	using Castle.DynamicProxy.Generators;
+	using Castle.DynamicProxy.Tests.GenClasses;
+	using Castle.DynamicProxy.Tests.Interceptors;
+	using NUnit.Framework;
+
+	[TestFixture]
+	public class GenericClassProxyTestCase : BasePEVerifyTestCase
+	{
+		private LogInvocationInterceptor logger;
+
+		public override void Init ()
+		{
+			base.Init ();
+			logger = new LogInvocationInterceptor ();
+		}
+
+		[Test]
+		public void ProxyWithGenericArgument ()
+		{
+			ClassWithGenArgs<int> proxy = generator.CreateClassProxy<ClassWithGenArgs<int>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomething ();
+
+			Assert.IsTrue (proxy.Invoked);
+
+			proxy.AProperty = true;
+			Assert.IsTrue (proxy.AProperty);
+
+			Assert.AreEqual ("DoSomething set_AProperty get_AProperty ", logger.LogContents);
+		}
+
+		[Test]
+		public void ProxyWithGenericArguments ()
+		{
+			ClassWithGenArgs<int, string> proxy = generator.CreateClassProxy<ClassWithGenArgs<int, string>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomething ();
+
+			Assert.IsTrue (proxy.Invoked);
+
+			proxy.AProperty = true;
+			Assert.IsTrue (proxy.AProperty);
+
+			Assert.AreEqual ("DoSomething set_AProperty get_AProperty ", logger.LogContents);
+		}
+
+		[Test]
+		public void ProxyWithGenericArgumentsWithBaseGenericClass ()
+		{
+			SubClassWithGenArgs<int, string, int> proxy =
+				generator.CreateClassProxy<SubClassWithGenArgs<int, string, int>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomething ();
+
+			Assert.IsTrue (proxy.Invoked);
+
+			proxy.AProperty = true;
+			Assert.IsTrue (proxy.AProperty);
+
+			Assert.AreEqual ("DoSomething set_AProperty get_AProperty ", logger.LogContents);
+		}
+
+		[Test]
+		public void ProxyWithGenericArgumentsAndArgumentConstraints ()
+		{
+			GenClassWithConstraints<int> proxy = generator.CreateClassProxy<GenClassWithConstraints<int>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomething ();
+
+			Assert.IsTrue (proxy.Invoked);
+
+			Assert.AreEqual ("DoSomething ", logger.LogContents);
+		}
+
+		[Test]
+		public void GenericProxyWithIndexer ()
+		{
+			object proxy = generator.CreateClassProxy<ClassWithIndexer<string, int>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			ClassWithIndexer<string, int> type = (ClassWithIndexer<string, int>)proxy;
+
+			type ["name"] = 10;
+			Assert.AreEqual (10, type ["name"]);
+
+			Assert.AreEqual ("set_Item get_Item ", logger.LogContents);
+		}
+
+		[Test]
+		//		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
+//			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
+		public void ProxyWithMethodReturningGenericOfGenericOfT ()
+		{
+			var proxy = generator.CreateClassProxy<ClassWithMethodWithReturnArrayOfListOfT> ();
+			proxy.GenericMethodReturnsListArray<string> ();
+			proxy.GenericMethodReturnsGenericOfGenericType<int> ();
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void ProxyWithGenericArgumentsAndMethodGenericArguments ()
+		{
+			GenClassWithGenMethods<List<object>> proxy =
+				generator.CreateClassProxy<GenClassWithGenMethods<List<object>>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomething ("z param");
+
+			Assert.IsTrue (proxy.Invoked);
+			Assert.AreEqual ("z param", proxy.SavedParam);
+			Assert.AreEqual ("DoSomething ", logger.LogContents);
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void ProxyWithGenericArgumentsAndMethodGenericArgumentsWithConstraints ()
+		{
+			GenClassWithGenMethodsConstrained<List<object>> proxy =
+				generator.CreateClassProxy<GenClassWithGenMethodsConstrained<List<object>>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomething ("z param");
+
+			Assert.IsTrue (proxy.Invoked);
+			Assert.AreEqual ("z param", proxy.SavedParam);
+			Assert.AreEqual ("DoSomething ", logger.LogContents);
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void ProxyWithGenericArgumentsAndMethodGenericArgumentsWithOneNotDefinedOnType ()
+		{
+			GenClassWithGenMethods<List<object>> proxy =
+				generator.CreateClassProxy<GenClassWithGenMethods<List<object>>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			int value1 = 10;
+
+			proxy.DoSomethingElse<string> (delegate(int param1) {
+				return param1.ToString ();
+			}, value1);
+
+			Assert.IsTrue (proxy.Invoked);
+			Assert.AreEqual ("10", proxy.SavedParam);
+			Assert.AreEqual ("DoSomethingElse ", logger.LogContents);
+		}
+
+		[Test]
+		public void ProxyWithGenericArgumentsAndMethodGenericReturn ()
+		{
+			GenClassWithGenReturn<List<object>, List<object>> proxy =
+				generator.CreateClassProxy<GenClassWithGenReturn<List<object>, List<object>>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			object ret1 = proxy.DoSomethingT ();
+			object ret2 = proxy.DoSomethingZ ();
+
+			Assert.IsInstanceOf (typeof(List<object>), ret1);
+			Assert.IsInstanceOf (typeof(List<object>), ret2);
+			Assert.AreEqual ("DoSomethingT DoSomethingZ ", logger.LogContents);
+		}
+
+		[Test]
+		public void GenericMethodArgumentsAndTypeGenericArgumentsWithSameName ()
+		{
+			GenClassNameClash<List<object>, List<object>> proxy =
+				generator.CreateClassProxy<GenClassNameClash<List<object>, List<object>>> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomethingT<int> (1);
+			proxy.DoSomethingZ<long> (1L);
+			proxy.DoSomethingTX<int, string> (1, "a");
+			proxy.DoSomethingZX<long, string> (1L, "b");
+
+			Assert.AreEqual ("DoSomethingT DoSomethingZ DoSomethingTX DoSomethingZX ", logger.LogContents);
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void ClassWithGenMethodOnly ()
+		{
+			OnlyGenMethodsClass proxy =
+				generator.CreateClassProxy<OnlyGenMethodsClass> (logger);
+
+			Assert.IsNotNull (proxy);
+
+			proxy.DoSomething (new List<object> ());
+
+			Assert.IsTrue (proxy.Invoked);
+			Assert.AreEqual ("DoSomething ", logger.LogContents);
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void MethodInfoClosedInGenTypeGenMethodRefType ()
+		{
+			KeepDataInterceptor interceptor = new KeepDataInterceptor ();
+			GenClassWithGenMethods<List<object>> proxy = generator.CreateClassProxy<GenClassWithGenMethods<List<object>>> (interceptor);
+
+			proxy.DoSomething (1);
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(List<object>),
+				typeof(int));
+
+			proxy.DoSomething (new List<object> ());
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(List<object>),
+				typeof(List<object>));
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void MethodInfoClosedInGenTypeGenMethodValueType ()
+		{
+			KeepDataInterceptor interceptor = new KeepDataInterceptor ();
+			GenClassWithGenMethods<int> proxy = generator.CreateClassProxy<GenClassWithGenMethods<int>> (interceptor);
+
+			proxy.DoSomething (1);
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(int), typeof(int));
+
+			proxy.DoSomething (new List<object> ());
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(int),
+				typeof(List<object>));
+		}
+
+		[Test]
+		public void MethodInfoClosedInGenTypeNongenMethodRefTypeRefType ()
+		{
+			KeepDataInterceptor interceptor = new KeepDataInterceptor ();
+			GenClassWithGenReturn<List<object>, List<object>> proxy =
+				generator.CreateClassProxy<GenClassWithGenReturn<List<object>, List<object>>> (interceptor);
+
+			proxy.DoSomethingT ();
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(List<object>));
+
+			proxy.DoSomethingZ ();
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(List<object>));
+		}
+
+		[Test]
+		public void MethodInfoClosedInGenTypeNongenMethodValueTypeValueType ()
+		{
+			KeepDataInterceptor interceptor = new KeepDataInterceptor ();
+			GenClassWithGenReturn<int, int> proxy = generator.CreateClassProxy<GenClassWithGenReturn<int, int>> (interceptor);
+
+			proxy.DoSomethingT ();
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(int));
+			Assert.AreEqual (interceptor.Invocation.GetConcreteMethod (),
+				interceptor.Invocation.GetConcreteMethodInvocationTarget ().GetBaseDefinition ());
+
+			proxy.DoSomethingZ ();
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(int));
+			Assert.AreEqual (interceptor.Invocation.GetConcreteMethod (),
+				interceptor.Invocation.GetConcreteMethodInvocationTarget ().GetBaseDefinition ());
+		}
+
+		[Test]
+		public void MethodInfoClosedInGenTypeNongenMethodValueTypeRefType ()
+		{
+			KeepDataInterceptor interceptor = new KeepDataInterceptor ();
+			GenClassWithGenReturn<int, List<object>> proxy =
+				generator.CreateClassProxy<GenClassWithGenReturn<int, List<object>>> (interceptor);
+
+			proxy.DoSomethingT ();
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(int));
+			Assert.AreEqual (interceptor.Invocation.GetConcreteMethod (),
+				interceptor.Invocation.GetConcreteMethodInvocationTarget ().GetBaseDefinition ());
+
+			proxy.DoSomethingZ ();
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(List<object>));
+			Assert.AreEqual (interceptor.Invocation.GetConcreteMethod (),
+				interceptor.Invocation.GetConcreteMethodInvocationTarget ().GetBaseDefinition ());
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void MethodInfoClosedInNongenTypeGenMethod ()
+		{
+			KeepDataInterceptor interceptor = new KeepDataInterceptor ();
+			OnlyGenMethodsClass proxy = generator.CreateClassProxy<OnlyGenMethodsClass> (interceptor);
+
+			proxy.DoSomething (1);
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(int), typeof(int));
+
+			proxy.DoSomething (new List<object> ());
+			GenericTestUtility.CheckMethodInfoIsClosed (interceptor.Invocation.GetConcreteMethod (), typeof(List<object>),
+				typeof(List<object>));
+		}
+
+		[Test]
+		//		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
+//			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
+		public void TypeWithGenericMethodHavingArgumentBeingGenericArrayOfT ()
+		{
+			var proxy = generator.CreateClassProxy<MethodWithArgumentBeingArrayOfGenericTypeOfT> ();
+			Assert.IsNotNull (proxy);
+			proxy.Method (new Action<string>[0]);
+		}
+
+		[Test]
+		[ExpectedException (typeof(GeneratorException))]
+		public void ThrowsWhenProxyingGenericTypeDefNoTarget ()
+		{
+			KeepDataInterceptor interceptor = new KeepDataInterceptor ();
+			object o = generator.CreateClassProxy (typeof(GenClassWithGenReturn<,>), interceptor);
+		}
+	}
+}
diff --git a/src/Castle.Core.Tests/GenericMethodsProxyTestCase.cs b/src/Castle.Core.Tests/GenericMethodsProxyTestCase.cs
index 40da4d6..a312a40 100644
--- a/src/Castle.Core.Tests/GenericMethodsProxyTestCase.cs
+++ b/src/Castle.Core.Tests/GenericMethodsProxyTestCase.cs
@@ -1,105 +1,105 @@
-// Copyright 2004-2011 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.
-
-namespace Castle.DynamicProxy.Tests
-{
-	using System;
-
-	using Castle.DynamicProxy.Tests.GenClasses;
-	using Castle.DynamicProxy.Tests.GenInterfaces;
-	using Castle.DynamicProxy.Tests.InterClasses;
-	using Castle.DynamicProxy.Tests.Interceptors;
-
-	using NUnit.Framework;
-
-	[TestFixture]
-	public class GenericMethodsProxyTestCase : BasePEVerifyTestCase
-	{
-		[Test]
-		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
-			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
-		public void GenericMethod_WithArrayOfGenericOfGenericArgument()
-		{
-			var proxy = generator.CreateClassProxy<ClassWithMethodWithArrayOfListOfT>();
-			proxy.GenericMethodWithListArrayArgument<string>(null);
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void GenericMethod_WithConstraintOnOtherParameter()
-		{
-			var type = typeof(IInterfaceWithGenericMethodWithDependentConstraint);
-
-			var interceptor = new KeepDataInterceptor();
-			var proxy = (IInterfaceWithGenericMethodWithDependentConstraint)
-			            generator.CreateInterfaceProxyWithoutTarget(type, new Type[] { }, interceptor);
-
-			proxy.RegisterType<object, string>();
-
-			var expectedMethod =
-				typeof(IInterfaceWithGenericMethodWithDependentConstraint).GetMethod("RegisterType").MakeGenericMethod(
-					typeof(object), typeof(string));
-
-			Assert.AreEqual(expectedMethod, interceptor.Invocation.Method);
-		}
-
-		[Test]
-#if __MonoCS__
-		[Ignore("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
-#endif
-		public void GenericMethod_WithConstraintOnSurroundingTypeParameter()
-		{
-			var type = typeof(IGenericInterfaceWithGenericMethodWithDependentConstraint<object>);
-
-			var interceptor = new KeepDataInterceptor();
-			var proxy = (IGenericInterfaceWithGenericMethodWithDependentConstraint<object>)
-			            generator.CreateInterfaceProxyWithoutTarget(type, new Type[] { }, interceptor);
-
-			proxy.RegisterType<string>();
-
-			var expectedMethod =
-				typeof(IGenericInterfaceWithGenericMethodWithDependentConstraint<object>).GetMethod("RegisterType").
-					MakeGenericMethod(typeof(string));
-
-			Assert.AreEqual(expectedMethod, interceptor.Invocation.Method);
-		}
-
-		[Test]
-		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
-			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
-		public void GenericMethod_WithGenericOfGenericArgument()
-		{
-			var proxy = generator.CreateClassProxy<ClassWithMethodWithGenericOfGenericOfT>();
-			proxy.GenericMethodWithGenericOfGenericArgument<string>(null);
-		}
-
-		[Test]
-		public void ProxyAdditionalInterfaceWithGenericMethods()
-		{
-			var proxy = (IService)generator.CreateInterfaceProxyWithoutTarget(
-				typeof(IService), new[] { typeof(OnlyGenMethodsInterface) },
-				new StandardInterceptor());
-
-			Assert.IsNotNull(proxy);
-		}
-
-		[Test]
-		public void ProxyInterfaceWithGenericMethodWithTwoGenericParametersWhereOneIsBaseToAnother()
-		{
-			generator.CreateInterfaceProxyWithoutTarget<GenericMethodWhereOneGenParamInheritsTheOther>();
-		}
-	}
+// Copyright 2004-2011 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.
+
+namespace Castle.DynamicProxy.Tests
+{
+	using System;
+
+	using Castle.DynamicProxy.Tests.GenClasses;
+	using Castle.DynamicProxy.Tests.GenInterfaces;
+	using Castle.DynamicProxy.Tests.InterClasses;
+	using Castle.DynamicProxy.Tests.Interceptors;
+
+	using NUnit.Framework;
+
+	[TestFixture]
+	public class GenericMethodsProxyTestCase : BasePEVerifyTestCase
+	{
+		[Test]
+		//		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
+//			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
+		public void GenericMethod_WithArrayOfGenericOfGenericArgument ()
+		{
+			var proxy = generator.CreateClassProxy<ClassWithMethodWithArrayOfListOfT> ();
+			proxy.GenericMethodWithListArrayArgument<string> (null);
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void GenericMethod_WithConstraintOnOtherParameter ()
+		{
+			var type = typeof(IInterfaceWithGenericMethodWithDependentConstraint);
+
+			var interceptor = new KeepDataInterceptor ();
+			var proxy = (IInterfaceWithGenericMethodWithDependentConstraint)
+			            generator.CreateInterfaceProxyWithoutTarget (type, new Type[] { }, interceptor);
+
+			proxy.RegisterType<object, string> ();
+
+			var expectedMethod =
+				typeof(IInterfaceWithGenericMethodWithDependentConstraint).GetMethod ("RegisterType").MakeGenericMethod (
+					typeof(object), typeof(string));
+
+			Assert.AreEqual (expectedMethod, interceptor.Invocation.Method);
+		}
+
+		[Test]
+#if __MonoCS__
+		[Ignore ("System.Type[] doesn't implement interface Castle.DynamicProxy.IInvocation")]
+		#endif
+		public void GenericMethod_WithConstraintOnSurroundingTypeParameter ()
+		{
+			var type = typeof(IGenericInterfaceWithGenericMethodWithDependentConstraint<object>);
+
+			var interceptor = new KeepDataInterceptor ();
+			var proxy = (IGenericInterfaceWithGenericMethodWithDependentConstraint<object>)
+			            generator.CreateInterfaceProxyWithoutTarget (type, new Type[] { }, interceptor);
+
+			proxy.RegisterType<string> ();
+
+			var expectedMethod =
+				typeof(IGenericInterfaceWithGenericMethodWithDependentConstraint<object>).GetMethod ("RegisterType").
+					MakeGenericMethod (typeof(string));
+
+			Assert.AreEqual (expectedMethod, interceptor.Invocation.Method);
+		}
+
+		[Test]
+		//		[Platform(Exclude = "mono", Reason = "Assertion at sgen-alloc.c:460, condition `*p == NULL' not met. " +
+//			"Fixed in https://bugzilla.xamarin.com/show_bug.cgi?id=28182")]
+		public void GenericMethod_WithGenericOfGenericArgument ()
+		{
+			var proxy = generator.CreateClassProxy<ClassWithMethodWithGenericOfGenericOfT> ();
+			proxy.GenericMethodWithGenericOfGenericArgument<string> (null);
+		}
+
+		[Test]
+		public void ProxyAdditionalInterfaceWithGenericMethods ()
+		{
+			var proxy = (IService)generator.CreateInterfaceProxyWithoutTarget (
+				            typeof(IService), new[] { typeof(OnlyGenMethodsInterface) },
+				            new StandardInterceptor ());
+
+			Assert.IsNotNull (proxy);
+		}
+
+		[Test]
+		public void ProxyInterfaceWithGenericMethodWithTwoGenericParametersWhereOneIsBaseToAnother ()
+		{
+			generator.CreateInterfaceProxyWithoutTarget<GenericMethodWhereOneGenParamInheritsTheOther> ();
+		}
+	}
 }
\ No newline at end of file
diff --git a/src/Castle.Core.Tests/TraceLoggerTests.cs b/src/Castle.Core.Tests/TraceLoggerTests.cs
index f31e74c..e38c8bc 100644
--- a/src/Castle.Core.Tests/TraceLoggerTests.cs
+++ b/src/Castle.Core.Tests/TraceLoggerTests.cs
@@ -29,83 +29,77 @@ namespace Castle.Core.Logging.Tests
 	public class TraceLoggerTests
 	{
 		[SetUp]
-		public void Initialize()
+		public void Initialize ()
 		{
-			Listener.ClearMessages();
+			Listener.ClearMessages ();
 		}
 
 		[TearDown]
-		public void Cleanup()
+		public void Cleanup ()
 		{
-			Listener.ClearMessages();
+			Listener.ClearMessages ();
 		}
 
 		[Test]
-		[Platform(Exclude = "mono", Reason = "Mono has a bug that causes the listeners to not fully work.")]
-		public void WritingToLoggerByType()
+		//		[Platform (Exclude = "mono", Reason = "Mono has a bug that causes the listeners to not fully work.")]
+		public void WritingToLoggerByType ()
 		{
-			TraceLoggerFactory factory = new TraceLoggerFactory();
-			ILogger logger = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug);
-			logger.Debug("this is a tracing message");
+			TraceLoggerFactory factory = new TraceLoggerFactory ();
+			ILogger logger = factory.Create (typeof(TraceLoggerTests), LoggerLevel.Debug);
+			logger.Debug ("this is a tracing message");
 
-			Listener.AssertContains("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
-			Listener.AssertContains("testsrule", "this is a tracing message");
+			Listener.AssertContains ("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
+			Listener.AssertContains ("testsrule", "this is a tracing message");
 		}
 
 		[Test]
-		public void TracingErrorInformation()
+		public void TracingErrorInformation ()
 		{
-			TraceLoggerFactory factory = new TraceLoggerFactory();
-			ILogger logger = factory.Create(typeof(TraceLoggerTests), LoggerLevel.Debug);
-			try
-			{
-				try
-				{
+			TraceLoggerFactory factory = new TraceLoggerFactory ();
+			ILogger logger = factory.Create (typeof(TraceLoggerTests), LoggerLevel.Debug);
+			try {
+				try {
 					string fakearg = "Thisisavalue";
-					throw new ArgumentOutOfRangeException("fakearg", fakearg, "Thisisamessage" );
-				}
-				catch (Exception ex)
-				{
-					throw new ApplicationException("Inner error is " + ex.Message, ex);
+					throw new ArgumentOutOfRangeException ("fakearg", fakearg, "Thisisamessage");
+				} catch (Exception ex) {
+					throw new ApplicationException ("Inner error is " + ex.Message, ex);
 				}
-			}
-			catch (Exception ex)
-			{
-				logger.Error("Problem handled", ex);
+			} catch (Exception ex) {
+				logger.Error ("Problem handled", ex);
 			}
 
-			Listener.AssertContains("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
-			Listener.AssertContains("testsrule", "Problem handled");
-			Listener.AssertContains("testsrule", "ApplicationException");
-			Listener.AssertContains("testsrule", "Inner error is");
-			Listener.AssertContains("testsrule", "ArgumentOutOfRangeException");
-			Listener.AssertContains("testsrule", "fakearg");
-			Listener.AssertContains("testsrule", "Thisisavalue");
-			Listener.AssertContains("testsrule", "Thisisamessage");
+			Listener.AssertContains ("testsrule", "Castle.Core.Logging.Tests.TraceLoggerTests");
+			Listener.AssertContains ("testsrule", "Problem handled");
+			Listener.AssertContains ("testsrule", "ApplicationException");
+			Listener.AssertContains ("testsrule", "Inner error is");
+			Listener.AssertContains ("testsrule", "ArgumentOutOfRangeException");
+			Listener.AssertContains ("testsrule", "fakearg");
+			Listener.AssertContains ("testsrule", "Thisisavalue");
+			Listener.AssertContains ("testsrule", "Thisisamessage");
 		}
 
 		[Test]
-		[Platform(Exclude = "mono", Reason = "Mono has a bug that causes the listeners to not fully work.")]
-		public void FallUpToShorterSourceName()
+		//		[Platform (Exclude = "mono", Reason = "Mono has a bug that causes the listeners to not fully work.")]
+		public void FallUpToShorterSourceName ()
 		{
-			TraceLoggerFactory factory = new TraceLoggerFactory();
-			ILogger logger = factory.Create(typeof(Configuration.Xml.XmlConfigurationDeserializer), LoggerLevel.Debug);
-			logger.Info("Logging to config namespace");
+			TraceLoggerFactory factory = new TraceLoggerFactory ();
+			ILogger logger = factory.Create (typeof(Configuration.Xml.XmlConfigurationDeserializer), LoggerLevel.Debug);
+			logger.Info ("Logging to config namespace");
 
-			Listener.AssertContains("configrule", "Castle.Core.Configuration.Xml.XmlConfigurationDeserializer");
-			Listener.AssertContains("configrule", "Logging to config namespace");            
+			Listener.AssertContains ("configrule", "Castle.Core.Configuration.Xml.XmlConfigurationDeserializer");
+			Listener.AssertContains ("configrule", "Logging to config namespace");            
 		}
 
 		[Test]
-		[Platform(Exclude = "mono", Reason = "Mono has a bug that causes the listeners to not fully work.")]
-		public void FallUpToDefaultSource()
+		//		[Platform (Exclude = "mono", Reason = "Mono has a bug that causes the listeners to not fully work.")]
+		public void FallUpToDefaultSource ()
 		{
-			TraceLoggerFactory factory = new TraceLoggerFactory();
-			ILogger logger = factory.Create("System.Xml.XmlDocument", LoggerLevel.Debug);
-			logger.Info("Logging to non-configured namespace namespace");
+			TraceLoggerFactory factory = new TraceLoggerFactory ();
+			ILogger logger = factory.Create ("System.Xml.XmlDocument", LoggerLevel.Debug);
+			logger.Info ("Logging to non-configured namespace namespace");
 
-			Listener.AssertContains("defaultrule", "System.Xml.XmlDocument");
-			Listener.AssertContains("defaultrule", "Logging to non-configured namespace namespace");
+			Listener.AssertContains ("defaultrule", "System.Xml.XmlDocument");
+			Listener.AssertContains ("defaultrule", "Logging to non-configured namespace namespace");
 		}
 
 		#region in-memory listener class
@@ -116,50 +110,50 @@ namespace Castle.Core.Logging.Tests
 		/// </summary>
 		public class Listener : TraceListener
 		{
-			public Listener()
+			public Listener ()
 			{
 			}
 
-			public Listener(string initializationData)
+			public Listener (string initializationData)
 			{
 				traceName = initializationData;
 			}
 
-			static Dictionary<string, StringBuilder> traces = new Dictionary<string, StringBuilder>();
+			static Dictionary<string, StringBuilder> traces = new Dictionary<string, StringBuilder> ();
 			readonly string traceName;
 
-			StringBuilder GetStringBuilder()
+			StringBuilder GetStringBuilder ()
 			{
-				lock (traces)
-				{
-					if (!traces.ContainsKey(traceName))
-						traces.Add(traceName, new StringBuilder());
+				lock (traces) {
+					if (!traces.ContainsKey (traceName))
+						traces.Add (traceName, new StringBuilder ());
 
-					return traces[traceName];
+					return traces [traceName];
 				}
 			}
 
-			public override void Write(string message)
+			public override void Write (string message)
 			{
-				GetStringBuilder().Append(message);
+				GetStringBuilder ().Append (message);
 			}
 
-			public override void WriteLine(string message)
+			public override void WriteLine (string message)
 			{
-				GetStringBuilder().AppendLine(message);
+				GetStringBuilder ().AppendLine (message);
 			}
 
-			public static void AssertContains(string traceName, string expected)
+			public static void AssertContains (string traceName, string expected)
 			{
-				Assert.IsTrue(traces.ContainsKey(traceName), "Trace named {0} not found", traceName);
-				Assert.IsTrue(traces[traceName].ToString().Contains(expected), string.Format("Trace text expected to contain '{0}'", expected));
+				Assert.IsTrue (traces.ContainsKey (traceName), "Trace named {0} not found", traceName);
+				Assert.IsTrue (traces [traceName].ToString ().Contains (expected), string.Format ("Trace text expected to contain '{0}'", expected));
 			}
 
-			public static void ClearMessages()
+			public static void ClearMessages ()
 			{
-				traces = new Dictionary<string, StringBuilder>();
+				traces = new Dictionary<string, StringBuilder> ();
 			}
 		}
+
 		#endregion
 	}
 }
diff --git a/src/Castle.Core/Castle.Core.csproj b/src/Castle.Core/Castle.Core.csproj
index 5b6c8c3..dbac311 100644
--- a/src/Castle.Core/Castle.Core.csproj
+++ b/src/Castle.Core/Castle.Core.csproj
@@ -1,642 +1,653 @@
-ï»¿<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
-  <PropertyGroup>
-    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-  </PropertyGroup>
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Castle</RootNamespace>
-    <AssemblyName>Castle.Core</AssemblyName>
-    <SignAssembly>true</SignAssembly>
-    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
-    <OutputPath>bin\NET40-Debug\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <DefineConstants>TRACE;DEBUG;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <DocumentationFile>
-    </DocumentationFile>
-    <NoWarn>1591</NoWarn>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
-    <OutputPath>bin\NET40-Release\</OutputPath>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <DefineConstants>TRACE;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DocumentationFile>bin\NET40-Release\Castle.Core.xml</DocumentationFile>
-    <NoWarn>1591</NoWarn>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <OutputPath>bin\NET35-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <OutputPath>bin\NET35-Release\</OutputPath>
-    <DefineConstants>TRACE;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>bin\NET35-Release\Castle.Core.xml</DocumentationFile>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
-    <OutputPath>bin\SL40-Release\</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <DocumentationFile>bin\SL40-Release\Castle.Core.xml</DocumentationFile>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591 1685</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\SL40-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591 1685</NoWarn>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
-    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
-    <OutputPath>bin\SL50-Release\</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <DocumentationFile>bin\SL50-Release\Castle.Core.xml</DocumentationFile>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591 1685</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\SL40-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591 1685</NoWarn>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\NET45-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591</NoWarn>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
-    <OutputPath>bin\NET45-Release\</OutputPath>
-    <DefineConstants>TRACE;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>bin\NET45-Release\Castle.Core.xml</DocumentationFile>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <NoWarn>1591</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup Condition="$(MSBuildTargets)!='Silverlight 5.0' and $(MSBuildTargets)!='Silverlight 4.0'">
-    <Reference Include="System.configuration" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\..\buildscripts\CommonAssemblyInfo.cs">
-      <Link>CommonAssemblyInfo.cs</Link>
-    </Compile>
-    <Compile Include="Compatibility\IntrospectionExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\ListProjectionDebugView.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\ICollectionAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\ReferenceAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\XPathVariableAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\IfExistsAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\RemoveIfEmptyAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\VolatileAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\RemoveIfAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\XmlDefaultsAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\StringStorageAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\IVirtual.cs" />
-    <Compile Include="Components.DictionaryAdapter\MemberwiseEqualityHashCodeStrategy.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Copy.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryCopyStrategy.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Coerce.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryCoerceStrategy.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryBehaviorBuilder.cs" />
-    <Compile Include="Components.DictionaryAdapter\GenericDictionaryAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\PropertyChangedEventArgsEx.cs" />
-    <Compile Include="Components.DictionaryAdapter\PropertyChangingEventArgsEx.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\BindingList.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\IBindingList.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\IBindingListSource.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\ICollectionAdapterObserver.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\ICollectionProjection.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\ICondition.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\IVirtualSite.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\IVirtualTarget.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\ListProjection.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\SetProjection.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\VirtualObject.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\VirtualSite.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Core\DefaultXmlReferenceFormat.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryReferenceManager.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Core\IXmlReferenceFormat.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlCollectionAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlNodeSource.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlIterator.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlSubtreeIterator.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlNodeBase.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlPositionComparer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlReferenceManager.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\XRef.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlContextBase.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlContext.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlSelfAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlNodeSet.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlCollectionSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlSetSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlXmlNodeSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlIncludedType.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlIncludedTypeMap.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlBehaviorSemantics.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlNodeAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlIdentity.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlCollectionAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlPropertyAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlAccessorFactory.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlArrayBehaviorAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlAttributeBehaviorAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlDefaultBehaviorAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlElementBehaviorAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlIgnoreBehaviorAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XPathBehaviorAccessor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlCollectionItem.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlNodeList.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlKnownType.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlIncludedType.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlKnownTypeMap.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlIncludedTypeSet.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlKnownType.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlArraySerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlComponentSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlCustomSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlDefaultSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlDynamicSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlEnumerationSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlListSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlSimpleSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlStringSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlTypeKind.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlTypeSerializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlTypeSerializerCache.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Xmlns.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\DictionaryAdapterExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\IRealizable.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\StringExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\TypeExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Wsdl.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Xsd.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Xsi.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\IConfigurable.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\Try.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlNamespaceSource.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlKnownTypeSet.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\Error.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlCursor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\SingletonDispenser.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\XmlSubtreeReader.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\XmlSubtreeWriter.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlCursor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlNode.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\CursorFlags.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlNode.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlName.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlNameComparer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\CompiledXPath.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\CompiledXPathNode.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\CompiledXPathStep.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlContext.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlSelfCursor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathBufferedNodeIterator.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathContext.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathExtensions.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathCompiler.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathMutableCursor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathNode.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathReadOnlyCursor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlMetadata.cs" />
-    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlMetadataBehavior.cs" />
-    <Compile Include="Core\Internal\CollectionExtensions.cs" />
-    <Compile Include="Core\Internal\ExceptionMessageBuilder .cs" />
-    <Compile Include="Core\Internal\InterfaceAttributeUtil.cs" />
-    <Compile Include="Core\Internal\TypeExtensions.cs" />
-    <Compile Include="Core\Internal\WeakKey.cs" />
-    <Compile Include="Core\Internal\WeakKeyComparer.cs" />
-    <Compile Include="Core\Internal\WeakKeyDictionary.cs" />
-    <Compile Include="Core\ReferenceEqualityComparer.cs" />
-    <Compile Include="Core\Extensions\SimpleConverter.cs" />
-    <Compile Include="Core\Internal\InternalsVisible.cs" />
-    <Compile Include="Core\Internal\PermissionUtil.cs" />
-    <Compile Include="Components.DictionaryAdapter\AbstractDictionaryAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\AbstractDictionaryAdapterVisitor.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\ComponentAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\DictionaryAdapterAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\DictionaryBehaviorAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\FetchAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\GroupAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\KeyAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\KeyPrefixAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\KeySubstitutionAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\MultiLevelEditAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\NewGuidAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\OnDemandAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\StringFormatAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\StringListAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\StringValuesAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\SuppressNotificationsAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\TypeKeyPrefixAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\XmlNamespaceAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\XPathAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\Attributes\XPathFunctionAttribute.cs" />
-    <Compile Include="Components.DictionaryAdapter\CascadingDictionaryAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\DefaultPropertyGetter.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Create.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Edit.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Notify.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Validate.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterFactory.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterInstance.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterMeta.cs" />
-    <Compile Include="Components.DictionaryAdapter\DictionaryValidateGroup.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryAdapterFactory.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryAdapterVisitor.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryBehavior.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryCreate.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryCreateStrategy.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryEdit.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryEqualityHashCodeStrategy.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryInitializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryKeyBuilder.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryMetaInitializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryNotify.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryPropertyGetter.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryPropertySetter.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryValidate.cs" />
-    <Compile Include="Components.DictionaryAdapter\IDictionaryValidator.cs" />
-    <Compile Include="Components.DictionaryAdapter\IPropertyDescriptorInitializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\NameValueCollectionAdapter.cs" />
-    <Compile Include="Components.DictionaryAdapter\PropertyDescriptor.cs" />
-    <Compile Include="Core\Internal\AttributesUtil.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\BindingListInitializer.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\DynamicValue.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\DynamicValueDelegate.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\EditableBindingList.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\EditableList.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\IDynamicValue.cs" />
-    <Compile Include="Components.DictionaryAdapter\Util\IValueInitializer.cs" />
-    <Compile Include="Core\Logging\LoggerLevel.cs" />
-    <Compile Include="DynamicProxy\AbstractInvocation.cs" />
-    <Compile Include="DynamicProxy\AllMethodsHook.cs" />
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\TryStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\FinallyStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\EndExceptionBlockStatement.cs" />
-    <Compile Include="DynamicProxy\Internal\CompositionInvocation.cs" />
-    <Compile Include="DynamicProxy\Contributors\ClassProxyWithTargetTargetContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\CompositeTypeContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\DelegateTypeGenerator.cs" />
-    <Compile Include="DynamicProxy\Contributors\InterfaceProxyWithOptionalTargetContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\InvocationWithDelegateContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\InvocationWithGenericDelegateContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\OptionallyForwardingMethodGenerator.cs" />
-    <Compile Include="DynamicProxy\Contributors\WrappedClassMembersCollector.cs" />
-    <Compile Include="DynamicProxy\Generators\AttributeDisassembler.cs" />
-    <Compile Include="DynamicProxy\Internal\TypeUtil.cs" />
-    <Compile Include="DynamicProxy\InvalidProxyConstructorArgumentsException.cs" />
-    <Compile Include="DynamicProxy\ProxyUtil.cs" />
-    <Compile Include="DynamicProxy\Serialization\CacheMappingsAttribute.cs" />
-    <Compile Include="DynamicProxy\Contributors\ClassMembersCollector.cs" />
-    <Compile Include="DynamicProxy\Contributors\MinimialisticMethodGenerator.cs" />
-    <Compile Include="DynamicProxy\Contributors\InterfaceMembersCollector.cs" />
-    <Compile Include="DynamicProxy\Contributors\InterfaceMembersOnClassCollector.cs" />
-    <Compile Include="DynamicProxy\Contributors\Delegates.cs" />
-    <Compile Include="DynamicProxy\Contributors\InterfaceProxyWithoutTargetContributor.cs" />
-    <Compile Include="DynamicProxy\Generators\DelegateMembersCollector.cs" />
-    <Compile Include="DynamicProxy\Generators\DelegateProxyGenerationHook.cs" />
-    <Compile Include="DynamicProxy\Generators\DelegateProxyGenerator.cs" />
-    <Compile Include="DynamicProxy\Contributors\DelegateProxyTargetContributor.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\BindDelegateExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\IfNullExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\MultiStatementExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\IInvocationCreationContributor.cs" />
-    <Compile Include="DynamicProxy\Generators\InheritanceInvocationTypeGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\ClassProxyWithTargetGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NullCoalescingOperatorExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\GeneratorUtil.cs" />
-    <Compile Include="DynamicProxy\Contributors\MixinContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\ForwardingMethodGenerator.cs" />
-    <Compile Include="DynamicProxy\DefaultProxyBuilder.cs" />
-    <Compile Include="DynamicProxy\Contributors\ClassProxyInstanceContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\ClassProxyWithTargetInstanceContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\ClassProxyTargetContributor.cs" />
-    <Compile Include="DynamicProxy\Internal\AttributeUtil.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AssignArgumentStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AsTypeReference.cs" />
-    <Compile Include="DynamicProxy\Generators\AttributesToAvoidReplicating.cs" />
-    <Compile Include="DynamicProxy\Generators\BaseProxyGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\CacheKey.cs" />
-    <Compile Include="DynamicProxy\Generators\ClassProxyGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\AbstractTypeEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\ArgumentsUtil.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\ClassEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\CodeBuilders\AbstractCodeBuilder.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\CodeBuilders\ConstructorCodeBuilder.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\CodeBuilders\MethodCodeBuilder.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\ConstructorCollection.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\ConstructorEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\EventCollection.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\EventEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\GenericUtil.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\IMemberEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\LdcOpCodesDictionary.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\LdindOpCodesDictionary.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\MethodCollection.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\MethodEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\NestedClassCollection.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\NestedClassEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\OpCodeUtil.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\PropertiesCollection.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\PropertyEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AddressOfReferenceExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ArgumentReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AssignArrayStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AssignStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ByRefReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ConstReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ConstructorInvocationStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ConvertExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\DefaultValueExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\Expression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ExpressionStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\FieldReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\IILEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\IndirectReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LiteralIntExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LoadArrayElementExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LoadRefArrayElementExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LocalReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\MethodInvocationExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\MethodTokenExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NewArrayExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NewInstanceExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NopStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NullExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\Reference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ReferenceExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ReferencesToObjectArrayExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ReturnStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\SelfReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\Statement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ThrowStatement.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\TypeReference.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\TypeTokenExpression.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\StindOpCodesDictionary.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\StrongNameUtil.cs" />
-    <Compile Include="DynamicProxy\Generators\Emitters\TypeConstructorEmitter.cs" />
-    <Compile Include="DynamicProxy\Generators\MetaEvent.cs" />
-    <Compile Include="DynamicProxy\Generators\GeneratorException.cs" />
-    <Compile Include="DynamicProxy\Contributors\InterfaceProxyInstanceContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\InterfaceProxyTargetContributor.cs" />
-    <Compile Include="DynamicProxy\Generators\IGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\INamingScope.cs" />
-    <Compile Include="DynamicProxy\Generators\CompositionInvocationTypeGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\InterfaceProxyWithoutTargetGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\InterfaceProxyWithTargetGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\InterfaceProxyWithTargetInterfaceGenerator.cs" />
-    <Compile Include="DynamicProxy\Contributors\ITypeContributor.cs" />
-    <Compile Include="DynamicProxy\Contributors\InterfaceProxyWithTargetInterfaceTargetContributor.cs" />
-    <Compile Include="DynamicProxy\Generators\InvocationTypeGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\MethodGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\MethodSignatureComparer.cs" />
-    <Compile Include="DynamicProxy\Generators\MethodFinder.cs" />
-    <Compile Include="DynamicProxy\Generators\MetaMethod.cs" />
-    <Compile Include="DynamicProxy\Generators\MethodWithInvocationGenerator.cs" />
-    <Compile Include="DynamicProxy\Generators\NamingScope.cs" />
-    <Compile Include="DynamicProxy\Generators\MetaProperty.cs" />
-    <Compile Include="DynamicProxy\Contributors\MembersCollector.cs" />
-    <Compile Include="DynamicProxy\Contributors\ProxyInstanceContributor.cs" />
-    <Compile Include="DynamicProxy\Generators\MetaTypeElement.cs" />
-    <Compile Include="DynamicProxy\Generators\TypeElementCollection.cs" />
-    <Compile Include="DynamicProxy\Generators\MetaType.cs" />
-    <Compile Include="DynamicProxy\Internal\InheritanceInvocation.cs" />
-    <Compile Include="DynamicProxy\Internal\InternalsUtil.cs" />
-    <Compile Include="DynamicProxy\InvalidMixinConfigurationException.cs" />
-    <Compile Include="DynamicProxy\Internal\InvocationHelper.cs" />
-    <Compile Include="DynamicProxy\IProxyBuilder.cs" />
-    <Compile Include="DynamicProxy\IProxyGenerationHook.cs" />
-    <Compile Include="DynamicProxy\MixinData.cs" />
-    <Compile Include="DynamicProxy\ModuleScope.cs" />
-    <Compile Include="DynamicProxy\PersistentProxyBuilder.cs" />
-    <Compile Include="DynamicProxy\ProxyGenerationException.cs" />
-    <Compile Include="DynamicProxy\ProxyGenerationOptions.cs" />
-    <Compile Include="DynamicProxy\ProxyGenerator.cs" />
-    <Compile Include="DynamicProxy\Serialization\RemotableInvocation.cs" />
-    <Compile Include="DynamicProxy\Serialization\ProxyTypeConstants.cs" />
-    <Compile Include="DynamicProxy\Serialization\ProxyObjectReference.cs" />
-    <Compile Include="Core\Extensions\SilverlightExtensions.cs" />
-    <Compile Include="DynamicProxy\Tokens\DelegateMethods.cs" />
-    <Compile Include="DynamicProxy\Tokens\FormatterServicesMethods.cs" />
-    <Compile Include="DynamicProxy\Tokens\InterceptorSelectorMethods.cs" />
-    <Compile Include="DynamicProxy\Tokens\InvocationMethods.cs" />
-    <Compile Include="DynamicProxy\Tokens\MethodBaseMethods.cs" />
-    <Compile Include="DynamicProxy\Tokens\SerializationInfoMethods.cs" />
-    <Compile Include="DynamicProxy\Tokens\TypeBuilderMethods.cs" />
-    <Compile Include="DynamicProxy\Tokens\TypeMethods.cs" />
-    <Compile Include="DynamicProxy\IAttributeDisassembler.cs" />
-    <Compile Include="DynamicProxy\IInterceptorSelector.cs" />
-    <Compile Include="DynamicProxy\Tokens\TypeUtilMethods.cs" />
-    <Compile Include="Properties\InternalsVisibleToTests.cs" />
-    <Compile Include="Core\Internal\ILockHolder.cs" />
-    <Compile Include="Core\Internal\IUpgradeableLockHolder.cs" />
-    <Compile Include="Core\Internal\MonitorLockHolder.cs" />
-    <Compile Include="Core\Internal\MonitorUpgradeableLockHolder.cs" />
-    <Compile Include="Core\Internal\MonitorLock.cs" />
-    <Compile Include="Core\Internal\NoOpLock.cs" />
-    <Compile Include="Core\Internal\NoOpUpgradeableLock.cs" />
-    <Compile Include="Core\Internal\SlimReadWriteLock.cs" />
-    <Compile Include="Core\Internal\Lock.cs" />
-    <Compile Include="Core\Internal\SlimReadLockHolder.cs" />
-    <Compile Include="Core\Internal\SlimUpgradeableReadLockHolder.cs" />
-    <Compile Include="Core\Internal\SlimWriteLockHolder.cs" />
-    <Compile Include="Core\IServiceProviderExAccessor.cs" />
-    <Compile Include="DynamicProxy\IChangeProxyTarget.cs" />
-    <Compile Include="DynamicProxy\IInterceptor.cs" />
-    <Compile Include="DynamicProxy\IInvocation.cs" />
-    <Compile Include="DynamicProxy\IProxyTargetAccessor.cs" />
-    <Compile Include="DynamicProxy\StandardInterceptor.cs" />
-    <Compile Include="Core\IServiceEnabledComponent.cs" />
-    <Compile Include="Core\IServiceProviderEx.cs" />
-    <Compile Include="Core\Logging\AbstractExtendedLoggerFactory.cs" />
-    <Compile Include="Core\Logging\TraceLoggerFactory.cs" />
-    <Compile Include="Core\Logging\IContextProperties.cs" />
-    <Compile Include="Core\Logging\AbstractLoggerFactory.cs" />
-    <Compile Include="Core\Logging\ConsoleFactory.cs" />
-    <Compile Include="Core\Logging\DiagnosticsLoggerFactory.cs" />
-    <Compile Include="Core\Logging\NullLogFactory.cs" />
-    <Compile Include="Core\Logging\StreamLoggerFactory.cs" />
-    <Compile Include="Core\Logging\IContextStack.cs" />
-    <Compile Include="Core\Logging\IContextStacks.cs" />
-    <Compile Include="Core\Logging\IExtendedLogger.cs" />
-    <Compile Include="Core\Logging\IExtendedLoggerFactory.cs" />
-    <Compile Include="Core\Logging\ILogger.cs" />
-    <Compile Include="Core\Logging\ILoggerFactory.cs" />
-    <Compile Include="Core\Logging\LoggerException.cs" />
-    <Compile Include="Core\Logging\ConsoleLogger.cs" />
-    <Compile Include="Core\Logging\DiagnosticsLogger.cs" />
-    <Compile Include="Core\Logging\LevelFilteredLogger.cs" />
-    <Compile Include="Core\Logging\NullLogger.cs" />
-    <Compile Include="Core\Logging\StreamLogger.cs" />
-    <Compile Include="Core\Logging\TraceLogger.cs" />
-    <Compile Include="Core\Configuration\AbstractConfiguration.cs" />
-    <Compile Include="Core\Configuration\ConfigurationAttributeCollection.cs" />
-    <Compile Include="Core\Configuration\ConfigurationCollection.cs" />
-    <Compile Include="Core\Configuration\IConfiguration.cs" />
-    <Compile Include="Core\Configuration\MutableConfiguration.cs" />
-    <Compile Include="Core\Configuration\Xml\XmlConfigurationDeserializer.cs" />
-    <Compile Include="Core\Pair.cs" />
-    <Compile Include="Core\ProxyServices.cs" />
-    <Compile Include="Core\ReflectionBasedDictionaryAdapter.cs" />
-    <Compile Include="Core\Resource\AbstractResource.cs" />
-    <Compile Include="Core\Resource\AbstractStreamResource.cs" />
-    <Compile Include="Core\Resource\AssemblyResource.cs" />
-    <Compile Include="Core\Resource\AssemblyResourceFactory.cs" />
-    <Compile Include="Core\Resource\AssemblyBundleResource.cs" />
-    <Compile Include="Core\Resource\ConfigResource.cs" />
-    <Compile Include="Core\Resource\ConfigResourceFactory.cs" />
-    <Compile Include="Core\Resource\CustomUri.cs" />
-    <Compile Include="Core\Resource\FileResource.cs" />
-    <Compile Include="Core\Resource\FileResourceFactory.cs" />
-    <Compile Include="Core\Resource\IResource.cs" />
-    <Compile Include="Core\Resource\IResourceFactory.cs" />
-    <Compile Include="Core\Resource\ResourceException.cs" />
-    <Compile Include="Core\Resource\StaticContentResource.cs" />
-    <Compile Include="Core\Resource\UncResource.cs" />
-    <Compile Include="Core\Resource\UncResourceFactory.cs" />
-    <Compile Include="Core\Smtp\IEmailSender.cs" />
-    <Compile Include="Core\Smtp\DefaultSmtpSender.cs" />
-    <Compile Include="Core\StringObjectDictionaryAdapter.cs" />
-    <Compile Include="SecurityAssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="DynamicProxy\DynProxy.snk" />
-  </ItemGroup>
-  <ItemGroup>
-    <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\buildscripts\CastleKey.snk">
-      <Link>CastleKey.snk</Link>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XLinq\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" Condition="($(MSBuildTargets) == '') Or ($(MSBuildTargets) == 'CSharp')" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 4.0'" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />
-  <Import Project="$(RootPath)\Settings.proj" />
-  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
+ï»¿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Castle</RootNamespace>
+    <AssemblyName>Castle.Core</AssemblyName>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <OutputPath>bin\NET40-Debug\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <DefineConstants>TRACE;DEBUG;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591</NoWarn>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <OutputPath>bin\NET40-Release\</OutputPath>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <DefineConstants>TRACE;DOTNET40 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <DocumentationFile>bin\NET40-Release\Castle.Core.xml</DocumentationFile>
+    <NoWarn>1591</NoWarn>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <Prefer32Bit>false</Prefer32Bit>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591</NoWarn>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Release\</OutputPath>
+    <DefineConstants>TRACE;DOTNET35 FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <DocumentationFile>bin\NET35-Release\Castle.Core.xml</DocumentationFile>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591</NoWarn>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
+    <OutputPath>bin\SL40-Release\</OutputPath>
+    <DefineConstants>TRACE;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <DocumentationFile>bin\SL40-Release\Castle.Core.xml</DocumentationFile>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591 1685</NoWarn>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\SL40-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL4 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591 1685</NoWarn>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
+    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
+    <OutputPath>bin\SL50-Release\</OutputPath>
+    <DefineConstants>TRACE;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <DocumentationFile>bin\SL50-Release\Castle.Core.xml</DocumentationFile>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591 1685</NoWarn>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\SL40-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL5 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591 1685</NoWarn>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\NET45-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <NoWarn>1591</NoWarn>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\NET45-Release\</OutputPath>
+    <DefineConstants>TRACE;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <DocumentationFile>bin\Mono43-Release\Castle.Core.xml</DocumentationFile>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <NoWarn>1591</NoWarn>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Mono43-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;DOTNET40 DOTNET45 FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <NoWarn>1591</NoWarn>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <ItemGroup Condition="$(MSBuildTargets)!='Silverlight 5.0' and $(MSBuildTargets)!='Silverlight 4.0'">
+    <Reference Include="System.Xml" />
+    <Reference Include="System.Configuration" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\buildscripts\CommonAssemblyInfo.cs">
+      <Link>CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="Compatibility\IntrospectionExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\ListProjectionDebugView.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\ICollectionAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\ReferenceAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\XPathVariableAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\IfExistsAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\RemoveIfEmptyAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\VolatileAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\RemoveIfAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\XmlDefaultsAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\StringStorageAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\IVirtual.cs" />
+    <Compile Include="Components.DictionaryAdapter\MemberwiseEqualityHashCodeStrategy.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Copy.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryCopyStrategy.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Coerce.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryCoerceStrategy.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryBehaviorBuilder.cs" />
+    <Compile Include="Components.DictionaryAdapter\GenericDictionaryAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\PropertyChangedEventArgsEx.cs" />
+    <Compile Include="Components.DictionaryAdapter\PropertyChangingEventArgsEx.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\BindingList.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\IBindingList.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\IBindingListSource.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\ICollectionAdapterObserver.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\ICollectionProjection.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\ICondition.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\IVirtualSite.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\IVirtualTarget.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\ListProjection.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\SetProjection.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\VirtualObject.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\VirtualSite.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Core\DefaultXmlReferenceFormat.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryReferenceManager.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Core\IXmlReferenceFormat.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlCollectionAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlNodeSource.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlIterator.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlSubtreeIterator.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlNodeBase.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlPositionComparer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlReferenceManager.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\XRef.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlContextBase.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlContext.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlSelfAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlNodeSet.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlCollectionSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlSetSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlXmlNodeSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlIncludedType.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlIncludedTypeMap.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlBehaviorSemantics.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlNodeAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlIdentity.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlCollectionAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\IXmlPropertyAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlAccessorFactory.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlArrayBehaviorAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlAttributeBehaviorAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlDefaultBehaviorAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlElementBehaviorAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XmlIgnoreBehaviorAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Accessors\XPathBehaviorAccessor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlCollectionItem.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Collections\XmlNodeList.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlKnownType.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlIncludedType.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\IXmlKnownTypeMap.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlIncludedTypeSet.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlKnownType.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlArraySerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlComponentSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlCustomSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlDefaultSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlDynamicSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlEnumerationSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlListSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlSimpleSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlStringSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlTypeKind.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlTypeSerializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Serializers\XmlTypeSerializerCache.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Xmlns.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\DictionaryAdapterExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\IRealizable.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\StringExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\TypeExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Wsdl.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Xsd.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Namespaces\Xsi.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\IConfigurable.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\Try.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlNamespaceSource.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Types\XmlKnownTypeSet.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\Error.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlCursor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\SingletonDispenser.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\XmlSubtreeReader.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Utilities\XmlSubtreeWriter.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlCursor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\IXmlNode.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\CursorFlags.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\SystemXml\SysXmlNode.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlName.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlNameComparer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\CompiledXPath.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\CompiledXPathNode.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\CompiledXPathStep.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlContext.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\Base\XmlSelfCursor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathBufferedNodeIterator.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathContext.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathExtensions.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathCompiler.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathMutableCursor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathNode.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XPath\XPathReadOnlyCursor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlMetadata.cs" />
+    <Compile Include="Components.DictionaryAdapter\Xml\Core\XmlMetadataBehavior.cs" />
+    <Compile Include="Core\Internal\CollectionExtensions.cs" />
+    <Compile Include="Core\Internal\ExceptionMessageBuilder .cs" />
+    <Compile Include="Core\Internal\InterfaceAttributeUtil.cs" />
+    <Compile Include="Core\Internal\TypeExtensions.cs" />
+    <Compile Include="Core\Internal\WeakKey.cs" />
+    <Compile Include="Core\Internal\WeakKeyComparer.cs" />
+    <Compile Include="Core\Internal\WeakKeyDictionary.cs" />
+    <Compile Include="Core\ReferenceEqualityComparer.cs" />
+    <Compile Include="Core\Extensions\SimpleConverter.cs" />
+    <Compile Include="Core\Internal\InternalsVisible.cs" />
+    <Compile Include="Core\Internal\PermissionUtil.cs" />
+    <Compile Include="Components.DictionaryAdapter\AbstractDictionaryAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\AbstractDictionaryAdapterVisitor.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\ComponentAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\DictionaryAdapterAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\DictionaryBehaviorAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\FetchAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\GroupAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\KeyAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\KeyPrefixAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\KeySubstitutionAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\MultiLevelEditAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\NewGuidAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\OnDemandAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\StringFormatAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\StringListAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\StringValuesAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\SuppressNotificationsAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\TypeKeyPrefixAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\XmlNamespaceAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\XPathAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\Attributes\XPathFunctionAttribute.cs" />
+    <Compile Include="Components.DictionaryAdapter\CascadingDictionaryAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\DefaultPropertyGetter.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Create.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Edit.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Notify.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterBase.Validate.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterFactory.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterInstance.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryAdapterMeta.cs" />
+    <Compile Include="Components.DictionaryAdapter\DictionaryValidateGroup.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryAdapterFactory.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryAdapterVisitor.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryBehavior.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryCreate.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryCreateStrategy.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryEdit.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryEqualityHashCodeStrategy.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryInitializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryKeyBuilder.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryMetaInitializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryNotify.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryPropertyGetter.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryPropertySetter.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryValidate.cs" />
+    <Compile Include="Components.DictionaryAdapter\IDictionaryValidator.cs" />
+    <Compile Include="Components.DictionaryAdapter\IPropertyDescriptorInitializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\NameValueCollectionAdapter.cs" />
+    <Compile Include="Components.DictionaryAdapter\PropertyDescriptor.cs" />
+    <Compile Include="Core\Internal\AttributesUtil.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\BindingListInitializer.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\DynamicValue.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\DynamicValueDelegate.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\EditableBindingList.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\EditableList.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\IDynamicValue.cs" />
+    <Compile Include="Components.DictionaryAdapter\Util\IValueInitializer.cs" />
+    <Compile Include="Core\Logging\LoggerLevel.cs" />
+    <Compile Include="DynamicProxy\AbstractInvocation.cs" />
+    <Compile Include="DynamicProxy\AllMethodsHook.cs" />
+    <Compile Include="AssemblyInfo.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\TryStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\FinallyStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\EndExceptionBlockStatement.cs" />
+    <Compile Include="DynamicProxy\Internal\CompositionInvocation.cs" />
+    <Compile Include="DynamicProxy\Contributors\ClassProxyWithTargetTargetContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\CompositeTypeContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\DelegateTypeGenerator.cs" />
+    <Compile Include="DynamicProxy\Contributors\InterfaceProxyWithOptionalTargetContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\InvocationWithDelegateContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\InvocationWithGenericDelegateContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\OptionallyForwardingMethodGenerator.cs" />
+    <Compile Include="DynamicProxy\Contributors\WrappedClassMembersCollector.cs" />
+    <Compile Include="DynamicProxy\Generators\AttributeDisassembler.cs" />
+    <Compile Include="DynamicProxy\Internal\TypeUtil.cs" />
+    <Compile Include="DynamicProxy\InvalidProxyConstructorArgumentsException.cs" />
+    <Compile Include="DynamicProxy\ProxyUtil.cs" />
+    <Compile Include="DynamicProxy\Serialization\CacheMappingsAttribute.cs" />
+    <Compile Include="DynamicProxy\Contributors\ClassMembersCollector.cs" />
+    <Compile Include="DynamicProxy\Contributors\MinimialisticMethodGenerator.cs" />
+    <Compile Include="DynamicProxy\Contributors\InterfaceMembersCollector.cs" />
+    <Compile Include="DynamicProxy\Contributors\InterfaceMembersOnClassCollector.cs" />
+    <Compile Include="DynamicProxy\Contributors\Delegates.cs" />
+    <Compile Include="DynamicProxy\Contributors\InterfaceProxyWithoutTargetContributor.cs" />
+    <Compile Include="DynamicProxy\Generators\DelegateMembersCollector.cs" />
+    <Compile Include="DynamicProxy\Generators\DelegateProxyGenerationHook.cs" />
+    <Compile Include="DynamicProxy\Generators\DelegateProxyGenerator.cs" />
+    <Compile Include="DynamicProxy\Contributors\DelegateProxyTargetContributor.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\BindDelegateExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\IfNullExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\MultiStatementExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\IInvocationCreationContributor.cs" />
+    <Compile Include="DynamicProxy\Generators\InheritanceInvocationTypeGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\ClassProxyWithTargetGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NullCoalescingOperatorExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\GeneratorUtil.cs" />
+    <Compile Include="DynamicProxy\Contributors\MixinContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\ForwardingMethodGenerator.cs" />
+    <Compile Include="DynamicProxy\DefaultProxyBuilder.cs" />
+    <Compile Include="DynamicProxy\Contributors\ClassProxyInstanceContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\ClassProxyWithTargetInstanceContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\ClassProxyTargetContributor.cs" />
+    <Compile Include="DynamicProxy\Internal\AttributeUtil.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AssignArgumentStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AsTypeReference.cs" />
+    <Compile Include="DynamicProxy\Generators\AttributesToAvoidReplicating.cs" />
+    <Compile Include="DynamicProxy\Generators\BaseProxyGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\CacheKey.cs" />
+    <Compile Include="DynamicProxy\Generators\ClassProxyGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\AbstractTypeEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\ArgumentsUtil.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\ClassEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\CodeBuilders\AbstractCodeBuilder.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\CodeBuilders\ConstructorCodeBuilder.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\CodeBuilders\MethodCodeBuilder.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\ConstructorCollection.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\ConstructorEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\EventCollection.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\EventEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\GenericUtil.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\IMemberEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\LdcOpCodesDictionary.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\LdindOpCodesDictionary.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\MethodCollection.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\MethodEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\NestedClassCollection.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\NestedClassEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\OpCodeUtil.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\PropertiesCollection.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\PropertyEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AddressOfReferenceExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ArgumentReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AssignArrayStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\AssignStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ByRefReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ConstReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ConstructorInvocationStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ConvertExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\DefaultValueExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\Expression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ExpressionStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\FieldReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\IILEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\IndirectReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LiteralIntExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LoadArrayElementExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LoadRefArrayElementExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\LocalReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\MethodInvocationExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\MethodTokenExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NewArrayExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NewInstanceExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NopStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\NullExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\Reference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ReferenceExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ReferencesToObjectArrayExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ReturnStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\SelfReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\Statement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\ThrowStatement.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\TypeReference.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\SimpleAST\TypeTokenExpression.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\StindOpCodesDictionary.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\StrongNameUtil.cs" />
+    <Compile Include="DynamicProxy\Generators\Emitters\TypeConstructorEmitter.cs" />
+    <Compile Include="DynamicProxy\Generators\MetaEvent.cs" />
+    <Compile Include="DynamicProxy\Generators\GeneratorException.cs" />
+    <Compile Include="DynamicProxy\Contributors\InterfaceProxyInstanceContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\InterfaceProxyTargetContributor.cs" />
+    <Compile Include="DynamicProxy\Generators\IGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\INamingScope.cs" />
+    <Compile Include="DynamicProxy\Generators\CompositionInvocationTypeGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\InterfaceProxyWithoutTargetGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\InterfaceProxyWithTargetGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\InterfaceProxyWithTargetInterfaceGenerator.cs" />
+    <Compile Include="DynamicProxy\Contributors\ITypeContributor.cs" />
+    <Compile Include="DynamicProxy\Contributors\InterfaceProxyWithTargetInterfaceTargetContributor.cs" />
+    <Compile Include="DynamicProxy\Generators\InvocationTypeGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\MethodGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\MethodSignatureComparer.cs" />
+    <Compile Include="DynamicProxy\Generators\MethodFinder.cs" />
+    <Compile Include="DynamicProxy\Generators\MetaMethod.cs" />
+    <Compile Include="DynamicProxy\Generators\MethodWithInvocationGenerator.cs" />
+    <Compile Include="DynamicProxy\Generators\NamingScope.cs" />
+    <Compile Include="DynamicProxy\Generators\MetaProperty.cs" />
+    <Compile Include="DynamicProxy\Contributors\MembersCollector.cs" />
+    <Compile Include="DynamicProxy\Contributors\ProxyInstanceContributor.cs" />
+    <Compile Include="DynamicProxy\Generators\MetaTypeElement.cs" />
+    <Compile Include="DynamicProxy\Generators\TypeElementCollection.cs" />
+    <Compile Include="DynamicProxy\Generators\MetaType.cs" />
+    <Compile Include="DynamicProxy\Internal\InheritanceInvocation.cs" />
+    <Compile Include="DynamicProxy\Internal\InternalsUtil.cs" />
+    <Compile Include="DynamicProxy\InvalidMixinConfigurationException.cs" />
+    <Compile Include="DynamicProxy\Internal\InvocationHelper.cs" />
+    <Compile Include="DynamicProxy\IProxyBuilder.cs" />
+    <Compile Include="DynamicProxy\IProxyGenerationHook.cs" />
+    <Compile Include="DynamicProxy\MixinData.cs" />
+    <Compile Include="DynamicProxy\ModuleScope.cs" />
+    <Compile Include="DynamicProxy\PersistentProxyBuilder.cs" />
+    <Compile Include="DynamicProxy\ProxyGenerationException.cs" />
+    <Compile Include="DynamicProxy\ProxyGenerationOptions.cs" />
+    <Compile Include="DynamicProxy\ProxyGenerator.cs" />
+    <Compile Include="DynamicProxy\Serialization\RemotableInvocation.cs" />
+    <Compile Include="DynamicProxy\Serialization\ProxyTypeConstants.cs" />
+    <Compile Include="DynamicProxy\Serialization\ProxyObjectReference.cs" />
+    <Compile Include="Core\Extensions\SilverlightExtensions.cs" />
+    <Compile Include="DynamicProxy\Tokens\DelegateMethods.cs" />
+    <Compile Include="DynamicProxy\Tokens\FormatterServicesMethods.cs" />
+    <Compile Include="DynamicProxy\Tokens\InterceptorSelectorMethods.cs" />
+    <Compile Include="DynamicProxy\Tokens\InvocationMethods.cs" />
+    <Compile Include="DynamicProxy\Tokens\MethodBaseMethods.cs" />
+    <Compile Include="DynamicProxy\Tokens\SerializationInfoMethods.cs" />
+    <Compile Include="DynamicProxy\Tokens\TypeBuilderMethods.cs" />
+    <Compile Include="DynamicProxy\Tokens\TypeMethods.cs" />
+    <Compile Include="DynamicProxy\IAttributeDisassembler.cs" />
+    <Compile Include="DynamicProxy\IInterceptorSelector.cs" />
+    <Compile Include="DynamicProxy\Tokens\TypeUtilMethods.cs" />
+    <Compile Include="Properties\InternalsVisibleToTests.cs" />
+    <Compile Include="Core\Internal\ILockHolder.cs" />
+    <Compile Include="Core\Internal\IUpgradeableLockHolder.cs" />
+    <Compile Include="Core\Internal\MonitorLockHolder.cs" />
+    <Compile Include="Core\Internal\MonitorUpgradeableLockHolder.cs" />
+    <Compile Include="Core\Internal\MonitorLock.cs" />
+    <Compile Include="Core\Internal\NoOpLock.cs" />
+    <Compile Include="Core\Internal\NoOpUpgradeableLock.cs" />
+    <Compile Include="Core\Internal\SlimReadWriteLock.cs" />
+    <Compile Include="Core\Internal\Lock.cs" />
+    <Compile Include="Core\Internal\SlimReadLockHolder.cs" />
+    <Compile Include="Core\Internal\SlimUpgradeableReadLockHolder.cs" />
+    <Compile Include="Core\Internal\SlimWriteLockHolder.cs" />
+    <Compile Include="Core\IServiceProviderExAccessor.cs" />
+    <Compile Include="DynamicProxy\IChangeProxyTarget.cs" />
+    <Compile Include="DynamicProxy\IInterceptor.cs" />
+    <Compile Include="DynamicProxy\IInvocation.cs" />
+    <Compile Include="DynamicProxy\IProxyTargetAccessor.cs" />
+    <Compile Include="DynamicProxy\StandardInterceptor.cs" />
+    <Compile Include="Core\IServiceEnabledComponent.cs" />
+    <Compile Include="Core\IServiceProviderEx.cs" />
+    <Compile Include="Core\Logging\AbstractExtendedLoggerFactory.cs" />
+    <Compile Include="Core\Logging\TraceLoggerFactory.cs" />
+    <Compile Include="Core\Logging\IContextProperties.cs" />
+    <Compile Include="Core\Logging\AbstractLoggerFactory.cs" />
+    <Compile Include="Core\Logging\ConsoleFactory.cs" />
+    <Compile Include="Core\Logging\DiagnosticsLoggerFactory.cs" />
+    <Compile Include="Core\Logging\NullLogFactory.cs" />
+    <Compile Include="Core\Logging\StreamLoggerFactory.cs" />
+    <Compile Include="Core\Logging\IContextStack.cs" />
+    <Compile Include="Core\Logging\IContextStacks.cs" />
+    <Compile Include="Core\Logging\IExtendedLogger.cs" />
+    <Compile Include="Core\Logging\IExtendedLoggerFactory.cs" />
+    <Compile Include="Core\Logging\ILogger.cs" />
+    <Compile Include="Core\Logging\ILoggerFactory.cs" />
+    <Compile Include="Core\Logging\LoggerException.cs" />
+    <Compile Include="Core\Logging\ConsoleLogger.cs" />
+    <Compile Include="Core\Logging\DiagnosticsLogger.cs" />
+    <Compile Include="Core\Logging\LevelFilteredLogger.cs" />
+    <Compile Include="Core\Logging\NullLogger.cs" />
+    <Compile Include="Core\Logging\StreamLogger.cs" />
+    <Compile Include="Core\Logging\TraceLogger.cs" />
+    <Compile Include="Core\Configuration\AbstractConfiguration.cs" />
+    <Compile Include="Core\Configuration\ConfigurationAttributeCollection.cs" />
+    <Compile Include="Core\Configuration\ConfigurationCollection.cs" />
+    <Compile Include="Core\Configuration\IConfiguration.cs" />
+    <Compile Include="Core\Configuration\MutableConfiguration.cs" />
+    <Compile Include="Core\Configuration\Xml\XmlConfigurationDeserializer.cs" />
+    <Compile Include="Core\Pair.cs" />
+    <Compile Include="Core\ProxyServices.cs" />
+    <Compile Include="Core\ReflectionBasedDictionaryAdapter.cs" />
+    <Compile Include="Core\Resource\AbstractResource.cs" />
+    <Compile Include="Core\Resource\AbstractStreamResource.cs" />
+    <Compile Include="Core\Resource\AssemblyResource.cs" />
+    <Compile Include="Core\Resource\AssemblyResourceFactory.cs" />
+    <Compile Include="Core\Resource\AssemblyBundleResource.cs" />
+    <Compile Include="Core\Resource\ConfigResource.cs" />
+    <Compile Include="Core\Resource\ConfigResourceFactory.cs" />
+    <Compile Include="Core\Resource\CustomUri.cs" />
+    <Compile Include="Core\Resource\FileResource.cs" />
+    <Compile Include="Core\Resource\FileResourceFactory.cs" />
+    <Compile Include="Core\Resource\IResource.cs" />
+    <Compile Include="Core\Resource\IResourceFactory.cs" />
+    <Compile Include="Core\Resource\ResourceException.cs" />
+    <Compile Include="Core\Resource\StaticContentResource.cs" />
+    <Compile Include="Core\Resource\UncResource.cs" />
+    <Compile Include="Core\Resource\UncResourceFactory.cs" />
+    <Compile Include="Core\Smtp\IEmailSender.cs" />
+    <Compile Include="Core\Smtp\DefaultSmtpSender.cs" />
+    <Compile Include="Core\StringObjectDictionaryAdapter.cs" />
+    <Compile Include="SecurityAssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="DynamicProxy\DynProxy.snk" />
+  </ItemGroup>
+  <ItemGroup>
+    <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\buildscripts\CastleKey.snk">
+      <Link>CastleKey.snk</Link>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Components.DictionaryAdapter\Xml\Internal\Cursors\XLinq\" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" Condition="($(MSBuildTargets) == '') Or ($(MSBuildTargets) == 'CSharp')" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 4.0'" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />
+  <Import Project="$(RootPath)\Settings.proj" />
+  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
 </Project>
\ No newline at end of file
diff --git a/src/Castle.Services.Logging.NLogIntegration/Castle.Services.Logging.NLogIntegration.csproj b/src/Castle.Services.Logging.NLogIntegration/Castle.Services.Logging.NLogIntegration.csproj
index 55f2b52..662bb58 100644
--- a/src/Castle.Services.Logging.NLogIntegration/Castle.Services.Logging.NLogIntegration.csproj
+++ b/src/Castle.Services.Logging.NLogIntegration/Castle.Services.Logging.NLogIntegration.csproj
@@ -1,257 +1,279 @@
-ï»¿<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
-  <PropertyGroup>
-    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{D680B5DB-B943-4BB5-891A-1695DEF86A3A}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Release</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <AssemblyName>Castle.Services.Logging.NLogIntegration</AssemblyName>
-    <SignAssembly>true</SignAssembly>
-    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>Castle.Services.Logging.NLogIntegration</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <OldToolsVersion>3.5</OldToolsVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
-    <OutputPath>bin\NET40-Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
-    <OutputPath>bin\NET40-Release\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>pdbonly</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU' ">
-    <MSBuildTargets>.NET 4.5</MSBuildTargets>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <OutputPath>bin\NET45-Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
-    <MSBuildTargets>.NET 4.5</MSBuildTargets>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\NET45-Release\</OutputPath>
-    <DefineConstants>TRACE;FEATURE_SERIALIZATION</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <OutputPath>bin\NET35-Debug\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <OutputPath>bin\NET35-Release\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
-    <OutputPath>bin\SL40-Release\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;SILVERLIGHT SL40 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <DocumentationFile>bin\SL40-Release\Castle.Services.Logging.NLogIntegration.XML</DocumentationFile>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
-    <OutputPath>bin\SL40-Debug\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL40 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
-    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
-    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
-    <OutputPath>bin\SL50-Release\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;SILVERLIGHT SL50 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <DocumentationFile>bin\SL50-Release\Castle.Services.Logging.NLogIntegration.XML</DocumentationFile>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
-    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
-    <OutputPath>bin\SL50-Debug\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL50 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <NoWarn>1685</NoWarn>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="NLog">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>$(RootPath)\lib\$(BuildConfigKey.ToLower())\NLog.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\..\buildscripts\CommonAssemblyInfo.cs">
-      <Link>CommonAssemblyInfo.cs</Link>
-    </Compile>
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="ExtendedNLogFactory.cs" />
-    <Compile Include="ExtendedNLogLogger.cs" />
-    <Compile Include="GlobalContextProperties.cs" />
-    <Compile Include="NLogFactory.cs" />
-    <Compile Include="NLogLogger.cs" />
-    <Compile Include="SecurityAssemblyInfo.cs" />
-    <Compile Include="ThreadContextProperties.cs" />
-    <Compile Include="ThreadContextStack.cs" />
-    <Compile Include="ThreadContextStacks.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\buildscripts\CastleKey.snk">
-      <Link>CastleKey.snk</Link>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Castle.Core\Castle.Core.csproj">
-      <Project>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</Project>
-      <Name>Castle.Core</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" Condition="$(MSBuildTargets) != 'Silverlight 5.0' and $(MSBuildTargets) != 'Silverlight 4.0'" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 4.0'" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />
-  <Import Project="$(RootPath)\Settings.proj" />
-  <PropertyGroup>
-    <ProjectName>Castle.Services.Logging.NLogIntegration</ProjectName>
-  </PropertyGroup>
-  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
+ï»¿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ProjectType>Local</ProjectType>
+    <ProjectGuid>{D680B5DB-B943-4BB5-891A-1695DEF86A3A}</ProjectGuid>
+    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <AssemblyName>Castle.Services.Logging.NLogIntegration</AssemblyName>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
+    <DelaySign>false</DelaySign>
+    <OutputType>Library</OutputType>
+    <RootNamespace>Castle.Services.Logging.NLogIntegration</RootNamespace>
+    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+    <OldToolsVersion>3.5</OldToolsVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <OutputPath>bin\NET40-Debug\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <Optimize>false</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>full</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <OutputPath>bin\NET40-Release\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <Optimize>true</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>pdbonly</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU' ">
+    <MSBuildTargets>.NET 4.5</MSBuildTargets>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET45-Debug\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <Optimize>false</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>full</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
+    <MSBuildTargets>.NET 4.5</MSBuildTargets>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\NET45-Release\</OutputPath>
+    <DefineConstants>TRACE;FEATURE_SERIALIZATION</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Debug\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Release\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
+    <OutputPath>bin\SL40-Release\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;SILVERLIGHT SL40 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <DocumentationFile>bin\SL40-Release\Castle.Services.Logging.NLogIntegration.XML</DocumentationFile>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 4.0</MSBuildTargets>
+    <OutputPath>bin\SL40-Debug\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL40 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
+    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
+    <OutputPath>bin\SL50-Release\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;SILVERLIGHT SL50 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <DocumentationFile>bin\SL50-Release\Castle.Services.Logging.NLogIntegration.XML</DocumentationFile>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
+    <MSBuildTargets>Silverlight 5.0</MSBuildTargets>
+    <OutputPath>bin\SL50-Debug\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;DEBUG;SILVERLIGHT SL50 FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <NoWarn>1685</NoWarn>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Mono43-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <Prefer32Bit>false</Prefer32Bit>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <MSBuildTargets>.NET 4.5</MSBuildTargets>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <FileAlignment>4096</FileAlignment>
+    <BaseAddress>285212672</BaseAddress>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Release|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Mono43-Release\</OutputPath>
+    <DefineConstants>TRACE;FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <FileAlignment>4096</FileAlignment>
+    <BaseAddress>285212672</BaseAddress>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <MSBuildTargets>.NET 4.5</MSBuildTargets>
+  </PropertyGroup>
+  <ItemGroup>
+    <!---<Reference Include="NLog">
+      <HintPath>$(RootPath)\lib\$(BuildConfigKey.ToLower())\NLog.dll</HintPath>
+    </Reference>-->
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="NLog">
+      <HintPath>..\..\lib\net45\NLog.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\buildscripts\CommonAssemblyInfo.cs">
+      <Link>CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="AssemblyInfo.cs" />
+    <Compile Include="ExtendedNLogFactory.cs" />
+    <Compile Include="ExtendedNLogLogger.cs" />
+    <Compile Include="GlobalContextProperties.cs" />
+    <Compile Include="NLogFactory.cs" />
+    <Compile Include="NLogLogger.cs" />
+    <Compile Include="SecurityAssemblyInfo.cs" />
+    <Compile Include="ThreadContextProperties.cs" />
+    <Compile Include="ThreadContextStack.cs" />
+    <Compile Include="ThreadContextStacks.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\buildscripts\CastleKey.snk">
+      <Link>CastleKey.snk</Link>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Castle.Core\Castle.Core.csproj">
+      <Project>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</Project>
+      <Name>Castle.Core</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" Condition="$(MSBuildTargets) != 'Silverlight 5.0' and $(MSBuildTargets) != 'Silverlight 4.0'" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 4.0'" />
+  <Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets" Condition="$(MSBuildTargets) == 'Silverlight 5.0'" />
+  <Import Project="$(RootPath)\Settings.proj" />
+  <PropertyGroup>
+    <ProjectName>Castle.Services.Logging.NLogIntegration</ProjectName>
+  </PropertyGroup>
+  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/src/Castle.Services.Logging.SerilogIntegration/Castle.Services.Logging.SerilogIntegration.csproj b/src/Castle.Services.Logging.SerilogIntegration/Castle.Services.Logging.SerilogIntegration.csproj
index efcbad5..907e9ff 100644
--- a/src/Castle.Services.Logging.SerilogIntegration/Castle.Services.Logging.SerilogIntegration.csproj
+++ b/src/Castle.Services.Logging.SerilogIntegration/Castle.Services.Logging.SerilogIntegration.csproj
@@ -1,8 +1,9 @@
 ï»¿<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -12,7 +13,6 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>Castle.Services.Logging.SerilogIntegration</RootNamespace>
     <AssemblyName>Castle.Services.Logging.SerilogIntegration</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <TargetFrameworkProfile />
   </PropertyGroup>
@@ -25,6 +25,7 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
@@ -34,6 +35,7 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup>
     <SignAssembly>true</SignAssembly>
@@ -48,14 +50,9 @@
     <DebugType>full</DebugType>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\NET45-Release\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU'">
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
@@ -65,6 +62,8 @@
     <DebugType>full</DebugType>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU'">
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
@@ -74,41 +73,79 @@
     <DebugType>full</DebugType>
     <PlatformTarget>AnyCPU</PlatformTarget>
     <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
     <OutputPath>bin\NET35-Debug\</OutputPath>
     <DefineConstants>FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
     <OutputPath>bin\NET35-Release\</OutputPath>
     <DefineConstants>FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
     <OutputPath>bin\SL40-Debug\</OutputPath>
     <DefineConstants>FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
     <OutputPath>bin\SL40-Release\</OutputPath>
     <DefineConstants>FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
     <OutputPath>bin\SL50-Debug\</OutputPath>
     <DefineConstants>FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
     <OutputPath>bin\SL50-Release\</OutputPath>
     <DefineConstants>FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Release|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Mono43-Release\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Mono43-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Serilog, Version=1.3.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath Condition="'$(Configuration)' == 'NET45-Release' or '$(Configuration)' == 'NET45-Debug'">..\..\lib\net45\Serilog.dll</HintPath>
-      <HintPath Condition="'$(Configuration)' == 'NET40-Release' or '$(Configuration)' == 'NET40-Debug'">..\..\lib\net40\Serilog.dll</HintPath>
+    <Reference Include="Serilog">
+      <HintPath>..\..\lib\net45\Serilog.dll</HintPath>
     </Reference>
-    <Reference Include="Serilog.FullNetFX, Version=1.3.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath Condition="'$(Configuration)' == 'NET45-Release' or '$(Configuration)' == 'NET45-Debug'">..\..\lib\net45\Serilog.FullNetFX.dll</HintPath>
-      <HintPath Condition="'$(Configuration)' == 'NET40-Release' or '$(Configuration)' == 'NET40-Debug'">..\..\lib\net40\Serilog.FullNetFX.dll</HintPath>
+    <Reference Include="Serilog.FullNetFx">
+      <HintPath>..\..\lib\net45\Serilog.FullNetFX.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
@@ -130,7 +167,7 @@
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\Castle.Core\Castle.Core.csproj">
-      <Project>{e4fa5b53-7d36-429e-8e5c-53d5479242ba}</Project>
+      <Project>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</Project>
       <Name>Castle.Core</Name>
     </ProjectReference>
   </ItemGroup>
diff --git a/src/Castle.Services.Logging.log4netIntegration/Castle.Services.Logging.log4netIntegration.csproj b/src/Castle.Services.Logging.log4netIntegration/Castle.Services.Logging.log4netIntegration.csproj
index ad2d625..b80a2a7 100644
--- a/src/Castle.Services.Logging.log4netIntegration/Castle.Services.Logging.log4netIntegration.csproj
+++ b/src/Castle.Services.Logging.log4netIntegration/Castle.Services.Logging.log4netIntegration.csproj
@@ -1,247 +1,258 @@
-ï»¿<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
-  <PropertyGroup>
-    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{FA79D6B4-30B1-444A-A627-ED283BF6406B}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Release</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon>
-    </ApplicationIcon>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>Castle.Services.Logging.Log4netIntegration</AssemblyName>
-    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>Library</OutputType>
-    <RootNamespace>Castle.Services.Logging.Log4netIntegration</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject>
-    </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <SignAssembly>true</SignAssembly>
-    <OldToolsVersion>3.5</OldToolsVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <OutputPath>bin\NET40-Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
-    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <OutputPath>bin\NET40-Release\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>pdbonly</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <OutputPath>bin\NET35-Debug\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <OutputPath>bin\NET35-Release\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\SL40-Release\</OutputPath>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\SL40-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\SL50-Release\</OutputPath>
-    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\SL50-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\NET45-Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>full</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Release|AnyCPU'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\NET45-Release\</OutputPath>
-    <DefineConstants>TRACE;FEATURE_SERIALIZATION</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <FileAlignment>4096</FileAlignment>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\lib\net35\log4net.dll</HintPath>
-    </Reference>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml">
-      <Name>System.XML</Name>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\..\buildscripts\CommonAssemblyInfo.cs">
-      <Link>CommonAssemblyInfo.cs</Link>
-    </Compile>
-    <Compile Include="AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="GlobalContextProperties.cs" />
-    <Compile Include="ExtendedLog4netFactory.cs" />
-    <Compile Include="ExtendedLog4netLogger.cs" />
-    <Compile Include="Log4netFactory.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Log4netLogger.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="SecurityAssemblyInfo.cs" />
-    <Compile Include="ThreadContextProperties.cs" />
-    <Compile Include="ThreadContextStack.cs" />
-    <Compile Include="ThreadContextStacks.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\buildscripts\CastleKey.snk">
-      <Link>CastleKey.snk</Link>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Castle.Core\Castle.Core.csproj">
-      <Project>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</Project>
-      <Name>Castle.Core</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <Import Project="$(RootPath)\Settings.proj" />
-  <PropertyGroup>
-    <ProjectName>Castle.Services.Logging.Log4NetIntegration</ProjectName>
-  </PropertyGroup>
-  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
+ï»¿<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <RootPath Condition=" '$(RootPath)' == '' ">$(MSBuildProjectDirectory)\..\..</RootPath>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ProjectType>Local</ProjectType>
+    <ProjectGuid>{FA79D6B4-30B1-444A-A627-ED283BF6406B}</ProjectGuid>
+    <Configuration Condition=" '$(Configuration)' == '' ">NET40-Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <AssemblyKeyContainerName>
+    </AssemblyKeyContainerName>
+    <AssemblyName>Castle.Services.Logging.Log4netIntegration</AssemblyName>
+    <AssemblyOriginatorKeyFile>..\..\buildscripts\CastleKey.snk</AssemblyOriginatorKeyFile>
+    <DefaultClientScript>JScript</DefaultClientScript>
+    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+    <DefaultTargetSchema>IE50</DefaultTargetSchema>
+    <DelaySign>false</DelaySign>
+    <OutputType>Library</OutputType>
+    <RootNamespace>Castle.Services.Logging.Log4netIntegration</RootNamespace>
+    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <SignAssembly>true</SignAssembly>
+    <OldToolsVersion>3.5</OldToolsVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Debug|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <OutputPath>bin\NET40-Debug\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <Optimize>false</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>full</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'NET40-Release|AnyCPU' ">
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <OutputPath>bin\NET40-Release\</OutputPath>
+    <BaseAddress>285212672</BaseAddress>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <Optimize>true</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>pdbonly</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Debug|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Debug\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET35-Release|AnyCPU'">
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <OutputPath>bin\NET35-Release\</OutputPath>
+    <DebugSymbols>true</DebugSymbols>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API FEATURE_SERIALIZATION</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Release|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\SL40-Release\</OutputPath>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL40-Debug|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\SL40-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Release|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\SL50-Release\</OutputPath>
+    <DefineConstants>TRACE;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'SL50-Debug|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\SL50-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;FEATURE_LEGACY_REFLECTION_API</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'NET45-Debug|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\NET45-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>false</Prefer32Bit>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <WarningLevel>4</WarningLevel>
+    <Optimize>false</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Release|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Mono43-Release\</OutputPath>
+    <DefineConstants>TRACE;FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <FileAlignment>4096</FileAlignment>
+    <BaseAddress>285212672</BaseAddress>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Mono43-Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Mono43-Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;FEATURE_SERIALIZATION</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <Prefer32Bit>false</Prefer32Bit>
+    <FileAlignment>4096</FileAlignment>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <BaseAddress>285212672</BaseAddress>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System">
+      <Name>System</Name>
+    </Reference>
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml">
+      <Name>System.XML</Name>
+    </Reference>
+    <Reference Include="log4net">
+      <HintPath>..\..\lib\net35\log4net.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\..\buildscripts\CommonAssemblyInfo.cs">
+      <Link>CommonAssemblyInfo.cs</Link>
+    </Compile>
+    <Compile Include="AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="GlobalContextProperties.cs" />
+    <Compile Include="ExtendedLog4netFactory.cs" />
+    <Compile Include="ExtendedLog4netLogger.cs" />
+    <Compile Include="Log4netFactory.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Log4netLogger.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="SecurityAssemblyInfo.cs" />
+    <Compile Include="ThreadContextProperties.cs" />
+    <Compile Include="ThreadContextStack.cs" />
+    <Compile Include="ThreadContextStacks.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\buildscripts\CastleKey.snk">
+      <Link>CastleKey.snk</Link>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Castle.Core\Castle.Core.csproj">
+      <Project>{E4FA5B53-7D36-429E-8E5C-53D5479242BA}</Project>
+      <Name>Castle.Core</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <Import Project="$(RootPath)\Settings.proj" />
+  <PropertyGroup>
+    <ProjectName>Castle.Services.Logging.Log4NetIntegration</ProjectName>
+  </PropertyGroup>
+  <Import Project="$(BuildScriptsPath)\Castle.Common.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
 </Project>
\ No newline at end of file
