NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

"Could not load DLL or external library"+"Teststand 3.5"+".Net"

The Installation: LabVIEW 8.2, TestStand 3.5     (complete installation)

I've a program in two versions: once in VBA with MS Acces and second in VB.Net

Both versions use TestStand via the COM Interface and do the same things.

When I run a Sequence with the VBA program all works fine. With the VB.Net program I get the error message mentioned in the subject.

 

When I deinstall LabVIEW 8.2 and TestStand 3.5 and go back to LabVIEW 7.1 and TestStand 3.1 both program work fine.

Both progams are unchanged except, that the VB.Net program is now linked with the Adapter- and API-Interop dlls for TestStand 3.1

 

I used Depend.Exe for the dll, which couldn't be loaded, and found no unresolved dependencies.

 

I installed the CVI Runtime 6.0, but nothing changes.

 

Does someone have an idea, what goes wrong with the LabVIEW 8.2, TestStand 3.5 installation?

0 Kudos
Message 1 of 5
(4,711 Views)

Is this a CLR 2.0 (.NET framework 2.0, 3.0 or 3.5) assembly (versus a 1.0 or 1.1 assembly)? If so I think you need to add a config file for the exe file to tell the .NET framework to use CLR 2.0 for the process. Maybe you are already doing this with 3.1. NOTE: TestStand 4.0 and higher use CLR 2.0 by default so do not need this config file.

Here are more details:

Application Configuration File

The application configuration file you use must reside in the same directory as your application (.exe) and must use the following naming convention <application name>.exe.config. For example, for the Sequence Editor application, SeqEdit.exe, the application configuration file would be placed in the <TestStand>\Bin directory and named SeqEdit.exe.config. An example of the format of the application configuration file is as follows:

 

<?xml version="1.0"?>
    <configuration>

        <runtime>
            <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

            </assemblyBinding>
        </runtime>
        <startup>
             <supportedRuntime version="v2.0.50727" />
        </startup>
    </configuration>

In the above example, our application configuration file will force the application to target version 2.0.50727 of the CLR (if it exists on the computer).

 

Hope this helps,
-Doug

0 Kudos
Message 2 of 5
(4,687 Views)

Please disregard my previous post. The app config file should not be necessary as the .NET framework should use 2.0 automatically if it is installed on your machine. That is one issue to look at though. Make sure .NET clr 2.0 (.NET framework 2.0, 3.0, or 3.5) is installed on the machine on which you are seeing the problem. I think TestStand 3.5 only installed .NET framework 1.1.

 

Sorry about the misinformation in my previous post.

-Doug

Message 3 of 5
(4,654 Views)

Hello,

The problem can be reduced to this also:

 

I have a MFC dll written in Visual C++ 6, which uses Traditional DAQ. 

If I start Teststand 3.5 and run a step (C++ adapter) which calls a function from the dll everything is ok.

 

It I try to run the TestStand from the Visual C++, for debugging, and run the same sequence then  I get the error :"Could not load DLL or external library".

 

It seems that is a difference between the TestStand started directly or started from another application.

 

For TS 3.1 everything is OK.

 

0 Kudos
Message 4 of 5
(4,639 Views)

As a workaround, have you tried attaching for debugging from vc++ to an already running sequence editor, rather than having VC++ launch the sequence editor?

 

-Doug

0 Kudos
Message 5 of 5
(4,628 Views)