We are running CF8 and a .NET 2.0.x framework and are trying to access some .NET dll assemblies using the <cfobject type = ".NET" name = "___" Class = "___" assembly = "___.dll"> tag. We are experiencing the following error message: [ java.io.IOException: Cannot run program "C:\[cfprogramfolder]\jnbridge\jnbproxy.exe": CreateProcess error=206, The filename or extension is too long]
Does anyone have experience with accessing .NET dll assemblies?
I haven't run into the exact error you're reporting, but I do have a fair amount of experience using CF and .NET and thought I'd pass along a few tips that might help you narrow down the problem. First, the assembly list does have to be a list of absolute paths, comma-delimited, with no spaces between each DLL file (that's important; I got some weird errors before I figured that one out). Also, make sure the .NET class you're trying to instantiate is fully qualified as far as its package goes...e.g. if you're trying to create an instance of the Ping class, you need to specify the class name as "System.Net.Ping" (I believe that's the right package but don't hold me to it 100%) instead of just "Ping." Another thing I would try is to use one of the system classes such as Ping or one of the Date/Time classes to do some simple task, just to verify your CF/.NET services installation is working to begin with, and check to make sure ColdFusion has access to the DLLs you're trying to instantiate. Finally, I think I remember reading somewhere when I started out with CF and .NET about a way to invoke a .NET class from the command line using jnbproxy (again, don't hold me to that because it was well over a year ago that I would have come across that), but if I am remembering that correctly, it might be another option worth exploring to help narrow down the problem (if it works from the command line, chances are it's a problem in the CF code somewhere...if not, that points more to an installation, configuration or a permissions problem).