From 4cae5fb83370d0f62c2deadb2107cb2de801b487 Mon Sep 17 00:00:00 2001 From: Jan Wosnitza Date: Wed, 8 Mar 2017 16:48:32 +0100 Subject: [PATCH] support app-setting's path without plattform --- HDF5/NativeDependencies.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/HDF5/NativeDependencies.cs b/HDF5/NativeDependencies.cs index 16fb4e5..e7dd5b9 100644 --- a/HDF5/NativeDependencies.cs +++ b/HDF5/NativeDependencies.cs @@ -14,10 +14,11 @@ public static void ResolvePathToExternalDependencies() string NativeDllPath; if (!GetDllPathFromAppConfig(out NativeDllPath)) { - GetDllPathFromAssembly(out NativeDllPath); + NativeDllPath = GetDllPathFromAssembly(); } AddPathStringToEnvironment(NativeDllPath); + AddPathStringToEnvironment(GetPlattformSpecificPath(NativeDllPath)); } //---------------------------------------------------------------- @@ -56,16 +57,19 @@ private static string GetAssemblyName() return myPath; } - private static void GetDllPathFromAssembly(out string aPath) + private static string GetDllPathFromAssembly() + { + return Path.GetDirectoryName(GetAssemblyName()); + } + + private static string GetPlattformSpecificPath(string aPath) { switch (IntPtr.Size) { case 8: - aPath = Path.Combine(Path.GetDirectoryName(GetAssemblyName()), Constants.DLL64bitPath); - break; + return Path.Combine(aPath, Constants.DLL64bitPath); case 4: - aPath = Path.Combine(Path.GetDirectoryName(GetAssemblyName()), Constants.DLL32bitPath); - break; + return Path.Combine(aPath, Constants.DLL32bitPath); default: throw new NotImplementedException(); }