AutoCAD 2017 Startup Suite, OpenDCL Runtime, ARXLOAD, NETLOAD

Started by chrismichaelgentile, February 20, 2017, 10:33:08 AM

Previous topic - Next topic

chrismichaelgentile

Hey community, here's my situation: I'm deploying a custom UI for AutoCAD 2017 using DCL projects that are called to load from the acaddoc.lsp on startup. I cannot get the ARX or the DLL to load. Any help would be great!

Here is the lines from acaddoc.lsp

Code (autolisp) Select
(command "._netload" (strcat @app "opendcl/OpenDCL/ENU/Runtime.Res.dll"))
(arxload (strcat @app "opendcl/OpenDCL/OpenDCL.x64.17"))
(command "opendcl")
(load (strcat @dcl "M_swassm"))
(dcl_project_load "M_swassm" T)


Here is the return on manually loading the DLL.

QuoteCommand: NETLOAD
Cannot load assembly. Error details: System.BadImageFormatException: Could not load file or assembly 'file:///C:\Users\Public\swaCAD\app\opendcl\OpenDCL\ENU\Runtime.Res.dll'; or one of its dependencies. The module was expected to contain an assembly manifest.
File name: 'file:///C:\Users\Public\swaCAD\app\opendcl\OpenDCL\ENU\Runtime.Res.dll'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   at System.Reflection.Assembly.LoadFrom(String assemblyFile)
   at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
   at loadmgd()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

I ran the OpenDCL Runtime and copied the contents of the .../common files/OpenDCL to a custom directory that will be copied with other dependent files for the custom UI. Side note, is there something in the registry the runtime edits?

Thank you in advance,

Fred Tomke

Hi, have a try without the first two lines.

Code (autolisp) Select
(command "opendcl")
(load (strcat @dcl "M_swassm"))
(dcl_project_load "M_swassm" T)


is enough if you installed OpenDCL runtime after AutoCAD.

Regards, Fred
Fred Tomke
Dipl.-Ing. (FH) Landespflege

[ landscaper - landscape developer - digital landscape and urban design]

chrismichaelgentile

Thanks Fred, we progressed from your comment. My question from here now is if I can change the module path that the command OPENDCL demand loads from, see quote from command window below.

QuoteCommand: OPENDCL
Demand load failed due to missing module:
Name: OpenDCL
Description: OpenDCL
Module Path: C:\Program Files (x86)\Common Files\OpenDCL\OpenDCL.x64.21.arx
Demand load failed due to missing module:
Name: OpenDCL
Description: OpenDCL
Module Path: C:\Program Files (x86)\Common Files\OpenDCL\OpenDCL.x64.21.arx
Unknown command "OPENDCL".  Press F1 for help.

Thanks again!

Fred Tomke

Hi, there's no need to change the module path. Please, be aware of other tools using OpenDCL runtime. Other applications depend on standard location of OpenDCL runtime, you will cause many problems with changing the module path . Thats why, let it as it is and everything will work.
Greetings, Fred
Fred Tomke
Dipl.-Ing. (FH) Landespflege

[ landscaper - landscape developer - digital landscape and urban design]