Using CVI 9.0.1, using a 32 c# .dll, that I imported into my design using the .net import tool. When I try to create a database object I get this error msg:
message = Could not load file or assembly 'MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The system cannot find the file specified.
Here is my code
int retVal;
char * message = NULL;
char * source = NULL;
char * trace = NULL;
char * help = NULL;
char * target = NULL;
char * dbPtr = NULL;
char * SQLptr = NULL;
char * record = NULL;
VBOOL connectFlag;
/* dot net variables */
//////////////////////////////////////////
sbCommonFunctions_Database dbHandle;
CDotNetAssemblyHandle DotNetHandle;
CAObjHandle databaseObj = 0;
CDotNetHandle dnHandle;
/////////////////////////////////////////
char dbLocation[] = "c:\\obsoleteparts.mdb" ;
dbPtr = dbLocation;
SQLptr = sqlStr;
errorTxt[0] = 0;
// register assembly files
retVal = CDotNetRegisterAssemblyPath("mscorlib","C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\mscorlib.dll");
retVal = CDotNetRegisterAssemblyPath("System.Data","C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\System.Data.dll");
retVal = CDotNetRegisterAssemblyPath("System","C:\\Windows\\assembly\\GAC_MSIL\\System.Windows.Forms\\2.0.0.0__b77a5c561934e089\\System.Windows.Forms.dll");
retVal = CDotNetRegisterAssemblyPath("System.Drawing","C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\System.Drawing.dll");
retVal = CDotNetRegisterAssemblyPath("ADODB","C:\\Windows\\assembly\\GAC\\ADODB\\7.0.3300.0__b03f5f7f11d50a3a\\ADODB.dll");
retVal = CDotNetRegisterAssemblyPath("MySql.Data","C:\\Etest_version_NI\\sbcommonfunctions\\x86\\mysql.data.dll");
retVal = CDotNetRegisterAssemblyPath("log4net","C:\\Etest_version_NI\\sbcommonfunctions\\x86\\log4net.dll");
retVal = CDotNetRegisterAssemblyPath("MySql.Data.Entity","C:\\Etest_version_NI\\sbcommonfunctions\\x86\\MySql.Data.Entity.dll");
retVal = CDotNetRegisterAssemblyPath("MySql.Web","C:\\Etest_version_NI\\sbcommonfunctions\\x86\\MySql.Web.dll");
retVal = CDotNetRegisterAssemblyPath("MySql.Data.CF","C:\\Etest_version_NI\\sbcommonfunctions\\x86\\MySql.data.cf.dll");
// load assembly files
retVal = CDotNetLoadAssembly("mscorlib",&DotNetHandle);
retVal = CDotNetLoadAssembly("System.Data",&DotNetHandle);
retVal = CDotNetLoadAssembly("System",&DotNetHandle);
retVal = CDotNetLoadAssembly("System.Drawing",&DotNetHandle);
retVal = CDotNetLoadAssembly("ADODB",&DotNetHandle);
retVal = CDotNetLoadAssembly("MySql.Data",&DotNetHandle);
retVal = CDotNetLoadAssembly("log4net",&DotNetHandle);
retVal = CDotNetLoadAssembly("MySql.Data.Entity",&DotNetHandle);
retVal = CDotNetLoadAssembly("MySql.Web",&DotNetHandle);
retVal = CDotNetLoadAssembly("MySql.Data.CF",&DotNetHandle);
// init .net dll
retVal = Initialize_sbCommonFunctions ();
// create database object (FAILURE OCCURS HERE)
retVal = sbCommonFunctions_Database__Create_2 (&dbHandle, dbPtr, &dnHandle);
retVal = CDotNetGetExceptionInfo(dnHandle,0,&message,&source,&trace,&target,&help);
I manual load all the assembly files, as shown in the code. I have also registered the .dll through regasm. I also tried dropping all of the files into c:\windows\syswow64, and ran into the same issue. Computer is running Windows 7 64-bit, .dll uses .net 3.5 & 2.0 components. Any ideas would be great I am pretty stumped at this point.
-Justin