diff --git a/pythonnet/src/console/Console.csproj b/pythonnet/src/console/Console.csproj
index ddf4cbe4e..2bbb182b7 100644
--- a/pythonnet/src/console/Console.csproj
+++ b/pythonnet/src/console/Console.csproj
@@ -192,6 +192,9 @@
+
+ Python.Runtime.dll
+
diff --git a/pythonnet/src/console/pythonconsole.cs b/pythonnet/src/console/pythonconsole.cs
index 9a58525b1..2184c8730 100644
--- a/pythonnet/src/console/pythonconsole.cs
+++ b/pythonnet/src/console/pythonconsole.cs
@@ -8,6 +8,7 @@
// ==========================================================================
using System;
+using System.Reflection;
using Python.Runtime;
namespace Python.Runtime {
@@ -27,6 +28,30 @@ public static int Main(string[] args) {
return i;
}
-}
+ // Register a callback function to load embedded assmeblies.
+ // (Python.Runtime.dll is included as a resource)
+ private sealed class AssemblyLoader {
+ public AssemblyLoader() {
+ AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => {
+ String resourceName = new AssemblyName(args.Name).Name + ".dll";
+
+ // looks for the assembly from the resources and load it
+ using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName)) {
+ if (stream != null) {
+ Byte[] assemblyData = new Byte[stream.Length];
+ stream.Read(assemblyData, 0, assemblyData.Length);
+ return Assembly.Load(assemblyData);
+ }
+ }
+
+ return null;
+ };
+ }
+ };
+
+ private static AssemblyLoader assemblyLoader = new AssemblyLoader();
+
+};
+
}