diff --git a/pythonnet.sln b/pythonnet.sln
index 64bf45fa2..547bf02ee 100644
--- a/pythonnet.sln
+++ b/pythonnet.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.30110.0
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Runtime", "src\runtime\Python.Runtime.csproj", "{097B4AC0-74E9-4C58-BCF8-C69746EC8271}"
EndProject
@@ -13,90 +13,212 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Console", "src\console\Cons
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "clrmodule", "src\clrmodule\clrmodule.csproj", "{86E834DE-1139-4511-96CC-69636A56E7AC}"
EndProject
+Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "tests", "src\tests\tests.pyproj", "{414322E9-AEB7-475E-BBF2-7DF60D982AC6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ DebugMono|Any CPU = DebugMono|Any CPU
DebugMono|x64 = DebugMono|x64
DebugMono|x86 = DebugMono|x86
+ DebugWin|Any CPU = DebugWin|Any CPU
DebugWin|x64 = DebugWin|x64
DebugWin|x86 = DebugWin|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ ReleaseMono|Any CPU = ReleaseMono|Any CPU
ReleaseMono|x64 = ReleaseMono|x64
ReleaseMono|x86 = ReleaseMono|x86
+ ReleaseWin|Any CPU = ReleaseWin|Any CPU
ReleaseWin|x64 = ReleaseWin|x64
ReleaseWin|x86 = ReleaseWin|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|Any CPU.ActiveCfg = ReleaseWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|Any CPU.Build.0 = ReleaseWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x64.ActiveCfg = DebugWin|x64
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x64.Build.0 = DebugWin|x64
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x86.ActiveCfg = DebugWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Debug|x86.Build.0 = DebugWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|Any CPU.ActiveCfg = DebugMono|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x64.ActiveCfg = DebugMono|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x64.Build.0 = DebugMono|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x86.ActiveCfg = DebugMono|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugMono|x86.Build.0 = DebugMono|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|Any CPU.ActiveCfg = DebugWin|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x64.ActiveCfg = DebugWin|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x64.Build.0 = DebugWin|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x86.ActiveCfg = DebugWin|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.DebugWin|x86.Build.0 = DebugWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|Any CPU.ActiveCfg = ReleaseWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|Any CPU.Build.0 = ReleaseWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x64.ActiveCfg = ReleaseWin|x64
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x64.Build.0 = ReleaseWin|x64
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x86.ActiveCfg = ReleaseWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.Release|x86.Build.0 = ReleaseWin|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
+ {097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|Any CPU.ActiveCfg = ReleaseWin|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
{097B4AC0-74E9-4C58-BCF8-C69746EC8271}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Debug|Any CPU.ActiveCfg = ReleaseWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Debug|Any CPU.Build.0 = ReleaseWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Debug|x64.ActiveCfg = DebugWin|x64
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Debug|x64.Build.0 = DebugWin|x64
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Debug|x86.ActiveCfg = DebugWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Debug|x86.Build.0 = DebugWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|Any CPU.ActiveCfg = DebugMono|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x64.ActiveCfg = DebugMono|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x64.Build.0 = DebugMono|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x86.ActiveCfg = DebugMono|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugMono|x86.Build.0 = DebugMono|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|Any CPU.ActiveCfg = DebugWin|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x64.ActiveCfg = DebugWin|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x64.Build.0 = DebugWin|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x86.ActiveCfg = DebugWin|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.DebugWin|x86.Build.0 = DebugWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Release|Any CPU.ActiveCfg = ReleaseWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Release|Any CPU.Build.0 = ReleaseWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Release|x64.ActiveCfg = ReleaseWin|x64
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Release|x64.Build.0 = ReleaseWin|x64
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Release|x86.ActiveCfg = ReleaseWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.Release|x86.Build.0 = ReleaseWin|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
+ {6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|Any CPU.ActiveCfg = ReleaseWin|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
{6F401A34-273B-450F-9A4C-13550BE0767B}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|Any CPU.ActiveCfg = ReleaseWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|Any CPU.Build.0 = ReleaseWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x64.ActiveCfg = DebugWin|x64
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x64.Build.0 = DebugWin|x64
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x86.ActiveCfg = DebugWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Debug|x86.Build.0 = DebugWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|Any CPU.ActiveCfg = DebugMono|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x64.ActiveCfg = DebugMono|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x64.Build.0 = DebugMono|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x86.ActiveCfg = DebugMono|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugMono|x86.Build.0 = DebugMono|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|Any CPU.ActiveCfg = DebugWin|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x64.ActiveCfg = DebugWin|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x64.Build.0 = DebugWin|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x86.ActiveCfg = DebugWin|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.DebugWin|x86.Build.0 = DebugWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|Any CPU.ActiveCfg = ReleaseWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|Any CPU.Build.0 = ReleaseWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x64.ActiveCfg = ReleaseWin|x64
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x64.Build.0 = ReleaseWin|x64
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x86.ActiveCfg = ReleaseWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.Release|x86.Build.0 = ReleaseWin|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
+ {4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|Any CPU.ActiveCfg = ReleaseWin|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
{4165C59D-2822-499F-A6DB-EACA4C331EB5}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Debug|x64.ActiveCfg = Debug|x64
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Debug|x64.Build.0 = Debug|x64
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Debug|x86.ActiveCfg = Debug|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Debug|x86.Build.0 = Debug|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|Any CPU.ActiveCfg = DebugMono_x86|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|Any CPU.Build.0 = DebugMono_x86|Any CPU
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x64.ActiveCfg = DebugMono_x86|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x64.Build.0 = DebugMono_x86|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x86.ActiveCfg = DebugMono_x86|x86
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugMono|x86.Build.0 = DebugMono_x86|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|Any CPU.ActiveCfg = DebugMono_x86|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|Any CPU.Build.0 = DebugMono_x86|Any CPU
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x64.ActiveCfg = DebugMono_x86|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x64.Build.0 = DebugMono_x86|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x86.ActiveCfg = DebugMono_x86|x86
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.DebugWin|x86.Build.0 = DebugMono_x86|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Release|x64.ActiveCfg = Release|x64
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Release|x64.Build.0 = Release|x64
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Release|x86.ActiveCfg = Release|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.Release|x86.Build.0 = Release|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x64.ActiveCfg = Release|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x64.Build.0 = Release|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x86.ActiveCfg = Release|x86
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseMono|x86.Build.0 = Release|x86
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|Any CPU.ActiveCfg = Release|Any CPU
+ {E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|Any CPU.Build.0 = Release|Any CPU
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x64.ActiveCfg = Release|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x64.Build.0 = Release|x64
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x86.ActiveCfg = Release|x86
{E29DCF0A-5114-4A98-B1DD-71264B6EA349}.ReleaseWin|x86.Build.0 = Release|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Debug|Any CPU.ActiveCfg = ReleaseWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Debug|Any CPU.Build.0 = ReleaseWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Debug|x64.ActiveCfg = DebugWin|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Debug|x64.Build.0 = DebugWin|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Debug|x86.ActiveCfg = DebugWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Debug|x86.Build.0 = DebugWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMono|Any CPU.ActiveCfg = DebugMono|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMono|x64.ActiveCfg = DebugMono|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMono|x64.Build.0 = DebugMono|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMono|x86.ActiveCfg = DebugMono|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugMono|x86.Build.0 = DebugMono|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|Any CPU.ActiveCfg = DebugWin|x86
{86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x64.ActiveCfg = DebugWin|x64
{86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x64.Build.0 = DebugWin|x64
{86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x86.ActiveCfg = DebugWin|x86
{86E834DE-1139-4511-96CC-69636A56E7AC}.DebugWin|x86.Build.0 = DebugWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Release|Any CPU.ActiveCfg = ReleaseWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Release|Any CPU.Build.0 = ReleaseWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Release|x64.ActiveCfg = ReleaseWin|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Release|x64.Build.0 = ReleaseWin|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Release|x86.ActiveCfg = ReleaseWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.Release|x86.Build.0 = ReleaseWin|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMono|x64.Build.0 = ReleaseMono|x64
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseMono|x86.Build.0 = ReleaseMono|x86
+ {86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|Any CPU.ActiveCfg = ReleaseWin|x86
{86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x64.ActiveCfg = ReleaseWin|x64
{86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x64.Build.0 = ReleaseWin|x64
{86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x86.ActiveCfg = ReleaseWin|x86
{86E834DE-1139-4511-96CC-69636A56E7AC}.ReleaseWin|x86.Build.0 = ReleaseWin|x86
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.DebugMono|x64.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.DebugMono|x86.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.DebugWin|Any CPU.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.DebugWin|x64.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.DebugWin|x86.ActiveCfg = Debug|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.Release|x64.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.Release|x86.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.ReleaseMono|x64.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.ReleaseMono|x86.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.ReleaseWin|Any CPU.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.ReleaseWin|x64.ActiveCfg = Release|Any CPU
+ {414322E9-AEB7-475E-BBF2-7DF60D982AC6}.ReleaseWin|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/clrmodule/clrmodule.csproj b/src/clrmodule/clrmodule.csproj
index f6d1a41b5..a970154e8 100644
--- a/src/clrmodule/clrmodule.csproj
+++ b/src/clrmodule/clrmodule.csproj
@@ -40,7 +40,8 @@
bin\x86\ReleaseMono\
-
+
+
true
pdbonly
x86
@@ -51,7 +52,8 @@
bin\x64\ReleaseMono\
-
+
+
true
pdbonly
x64
@@ -84,7 +86,8 @@
bin\x86\ReleaseWin\
-
+
+
true
pdbonly
x86
@@ -95,7 +98,8 @@
bin\x64\ReleaseWin\
-
+
+
true
pdbonly
x64
@@ -119,13 +123,12 @@
-
- $(TargetPath)
- $(TargetDir)$(TargetName).pdb
-
-
-
+
-
+
+ for /f "delims=" %25%25i in ('python -c "import site; print(site.getsitepackages()[1])"') do set output=%25%25i
+copy /Y "$(SolutionDir)\clr.pyd" %25output%25
+
+
\ No newline at end of file
diff --git a/src/runtime/Python.Runtime.csproj b/src/runtime/Python.Runtime.csproj
index 80f911734..c95193865 100644
--- a/src/runtime/Python.Runtime.csproj
+++ b/src/runtime/Python.Runtime.csproj
@@ -93,6 +93,7 @@
false
full
x64
+ TRACE;DEBUG;PYTHON34,UCS2
@@ -199,4 +200,8 @@
+
+ for /f "delims=" %25%25i in ('python -c "import site; print(site.getsitepackages()[1])"') do set output=%25%25i
+copy /Y "$(TargetPath)" %25output%25
+
diff --git a/src/runtime/assemblymanager.cs b/src/runtime/assemblymanager.cs
index 35badb71a..929af8cb7 100644
--- a/src/runtime/assemblymanager.cs
+++ b/src/runtime/assemblymanager.cs
@@ -199,6 +199,7 @@ public static Assembly LoadAssembly(string name) {
//===================================================================
public static Assembly LoadAssemblyPath(string name) {
+
string path = FindAssembly(name);
Assembly assembly = null;
if (path != null) {
@@ -208,6 +209,35 @@ public static Assembly LoadAssemblyPath(string name) {
return assembly;
}
+ ///
+ /// Loads an assembly using full path.
+ ///
+ ///
+ ///
+ public static Assembly LoadAssemblyFullPath(string name)
+ {
+ Assembly assembly = null;
+ if (name.Contains(Convert.ToString(Path.DirectorySeparatorChar)))
+ {
+ string temp = "";
+ temp = name + ".dll";
+ if (!File.Exists(temp))
+ {
+ temp = name + ".exe";
+ if (!File.Exists(temp))
+ {
+ temp = "";
+ }
+ }
+ if (temp != "")
+ {
+ try { assembly = Assembly.LoadFrom(temp); }
+ catch { }
+ }
+ }
+ return assembly;
+ }
+
//===================================================================
// Returns an assembly that's already been loaded
//===================================================================
diff --git a/src/runtime/moduleobject.cs b/src/runtime/moduleobject.cs
index 5cd6f2af5..091a0d24f 100644
--- a/src/runtime/moduleobject.cs
+++ b/src/runtime/moduleobject.cs
@@ -400,7 +400,12 @@ public static Assembly AddReference(string name)
{
AssemblyManager.UpdatePath();
Assembly assembly = null;
- assembly = AssemblyManager.FindLoadedAssembly(name);
+
+ assembly = AssemblyManager.LoadAssemblyFullPath(name);
+ if (assembly == null)
+ {
+ assembly = AssemblyManager.FindLoadedAssembly(name);
+ }
if (assembly == null)
{
assembly = AssemblyManager.LoadAssemblyPath(name);
diff --git a/src/testing/Python.Test.csproj b/src/testing/Python.Test.csproj
index 46ca484bc..c519a8a0f 100644
--- a/src/testing/Python.Test.csproj
+++ b/src/testing/Python.Test.csproj
@@ -38,7 +38,8 @@
bin\x86\ReleaseMono\
-
+
+
true
pdbonly
x86
@@ -49,7 +50,8 @@
bin\x64\ReleaseMono\
-
+
+
true
pdbonly
x64
@@ -57,7 +59,7 @@
true
true
false
-
+
true
bin\x86\DebugWin\
@@ -68,7 +70,7 @@
true
false
false
-
+
true
bin\x64\DebugWin\
@@ -82,7 +84,8 @@
bin\x86\ReleaseWin\
-
+
+
true
pdbonly
x86
@@ -93,7 +96,8 @@
bin\x64\ReleaseWin\
-
+
+
true
pdbonly
x64
@@ -144,6 +148,10 @@
$(TargetPath)
$(TargetDir)$(TargetName).pdb
+
+ for /f "delims=" %25%25i in ('python -c "import site; print(site.getsitepackages()[1])"') do set output=%25%25i
+copy /Y "$(TargetPath)" %25output%25
+
diff --git a/src/tests/tests.pyproj b/src/tests/tests.pyproj
new file mode 100644
index 000000000..da63f0c16
--- /dev/null
+++ b/src/tests/tests.pyproj
@@ -0,0 +1,59 @@
+
+
+
+ Debug
+ 2.0
+ {414322e9-aeb7-475e-bbf2-7df60d982ac6}
+
+ leaktest.py
+
+ .
+ .
+ {888888a0-9f3d-457c-b088-3a5042f75d52}
+ Standard Python launcher
+
+
+
+
+
+
+ 10.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file