In der Entwicklungsumgebung nimmt man die Toolbox passend zum Betriebssystem.
Zur Auslieferung legt man beide Toolboxen in das „bin“ Verzeichnis z.B. unter „x32“ und „x64“.
Im eigenen Programm fügt man folgende Methode ein:
static Assembly LoadFromOtherFolder(object sender, ResolveEventArgs args)
{
string path;
if (System.IntPtr.Size == 4)
path = "x32\\";
else
path = "x64\\";
string folderPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
folderPath = Path.Combine(folderPath, path);
string assemblyPath = Path.Combine(folderPath, new AssemblyName(args.Name).Name + ".dll");
if (File.Exists(assemblyPath) == false) return null;
Assembly assembly = Assembly.LoadFrom(assemblyPath);
return assembly;
}
In der „Main“ Methode, vor der erste Benutzung der Toolbox, fügt man folgenden Code hinzu:
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += new ResolveEventHandler(LoadFromOtherFolder);
Damit wird immer die Toolbox passend zum Betriebssystem geladen.
Vergessen Sie nicht das Redist Package für C++ VS 2017 einzuspielen:
https://aka.ms/vs/16/release/vc_redist.x86.exe
bzw.:
https://aka.ms/vs/16/release/vc_redist.x64.exe
Dieser Beitrag wurde unter
FAQ GAEB Toolbox veröffentlicht. Setze ein Lesezeichen auf den
Permalink.