The procedure entry point ?Base64Decode@CSMUtilString@Util@CSM@SensorModel@ESRI@@S A_NQBDPAPADAAI@Z could not be located in the dynamic link library C:\PROGRAM FILES (X86)\ARCGIS\ENGINE10.1\BIN\GdalRasterDB.dll.
IGPUtilities2 gpUtils = new GPUtilitiesClass(); IDataset workspace = null; try { workspace = gpUtils.OpenDatasetFromLocation(filepath); } catch (Exception) { }
AccessViolationException was unhandled: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
/// <summary> /// Loads the CSM.dll from ArcGIS BIN path in case the process wants to load the Microsoft library of same name. /// Call this method as early as possible to be effective (e.g. main form OnLoad, program's entry point method). /// </summary> private static void PreLoadEsriCSM(bool debugOnly) { if (!debugOnly || System.Diagnostics.Debugger.IsAttached) { string path = System.IO.Path.Combine(ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path, "Bin\\CSM.dll"); if (System.IO.File.Exists(path)) { bool isConflict = false; bool isMatch = false; using (var p = System.Diagnostics.Process.GetCurrentProcess()) { foreach (System.Diagnostics.ProcessModule m in p.Modules) { if (m.ModuleName.ToLower() == "csm.dll") { if (path.ToLower() != m.FileName.ToLower()) isConflict = true; else { isMatch = true; break; } } } } if (isConflict && !isMatch) System.Diagnostics.Debug.WriteLine("It may be necessary to call this method earlier to be effective."); if (!isMatch) LoadLibrary(path); } } } [System.Runtime.InteropServices.DllImport("kernel32.dll")] internal static extern IntPtr LoadLibrary(string dllname);
Thanks! My similar issue was finally solved.
<configuration> <system.diagnostics> <switches> <add name="Remote.Disable" value="1" /> </switches> </system.diagnostics> </configuration>
Thank you!!!! After 5 days i found your solution!!!
Thank you! 5 years on, and your clever hack has saved another from going nuts.