I'm experimenting with using iBO for .net with Coldfusion 8 (which offers .net integration). I'm on iMIS 15.1.3.
I have a basic app skeleton set up that during initialization attempts to create the iBO object, like this:
function setupApplication()
{
....
application.iBO = createObject( '.NET', 'iboAdmin.InitializeSystem()', 'c:\inetpub\wwwroot\bin\Asi.iBO.dll' );
...
}
I have the following DLLs copied in the /bin folder of the site:
• Asi.dll
• Asi.iBO.dll
• Asi.Lexicon.dll
• Asi.Log4Net.dll
• Asi.Membership.dll
• log4net.dll
When I load the app in a browser, I get the following error message:
"Class iboAdmin.InitializeSystem() not found in the specified assembly list.
The assembly that contains the class must be provided to the assembly attribute. (Application)"
If I change the Assembly parameter (the path to the DLL), I get the following error, so I know that CF can find the DLL:
"The c:\inetpub\wwwroot\bin\Asi.iBO2.dll file specified in the assembly does not exist."
Similarly, if I change the Type parameter, I get a different error, so I know that CF is recognizing the .NET type:
"The .JUNK object type is unknown for the CreateObject function."
So, if CF can find the DLL and recognize the type, why can't it find/use the InitializeSystem() class? I realize that there's an overload for that class that asks for a connection string, and I've tried using that, with the same results (not the real connection string, obviously):
application.iBO = createObject( '.NET', 'iboAdmin.InitializeSystem(Data Source=(local);User ID=sa;Password=dsa;Initial Catalog=iMIS)', 'c:\inetpub\wwwroot\bin\Asi.iBO.dll' );
When I load the app in a browser, I get the following error message:
"Class iboAdmin.InitializeSystem() not found in the specified assembly list.
The assembly that contains the class must be provided to the assembly attribute. (Application)"
So, it doesn't seem to recognize the InitializeSystem() class, whether I'm using the overload or not.
Any ideas on how to get CF8 to recognize and use the DLL?
Thanks,
Michael