Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

Non riesco ad importare in Labview una libreria

Risolto!
Vai alla soluzione

Ciao!

Ho una dll che è stata compilata per il .NET Framework 2.0 con VS 2010 Platform = “Any CPU” e la devo importare in Labview.

Ho provato prima con il "Call library function node" ma mi dice che "The file selected is not a valid library". Ho cercato in rete ed ho visto che per librerie .net bisogna utilizzare il Connectivity tool .net. Inserisco il Constructor Node, collego la libreria è ottengo l'errore "il modulo doveva contenere un manifesto di assembly". Cercando ancora in rete leggo che devo creare un file "Labview.exe.config" con contenuto

"<?xml version ="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>"

e copiarlo nella stessa directory di Labview.exe.

A questo punto provo a collegare la libreria al construstor node di prima ed ora l'errore è "Tentativo di caricare un programma con un formato non corretto"..

Vi allego un'immagine con gli errori.

Ora non so più cosa fare e chiedo un grosso aiuto a voi..

0 Kudos
Messaggio 1 di 3
5.944Visualizzazioni

Io non ne vengo a capo, aiuto!
Vi do tutte le informazioni che ho a disposizione:


- Labview 2012
- Windows 7 Professional 64 bit
- Framework installati su PC 1.1, 2.0, 3.5, 4.5.2
- dll sviluppata con VS 2010, Platform = "Any CPU", per il .NET Framework 2.0

 

Per importarla vado su:

"Tools" - "Import" - ".NET Controls to Palette"
Col tasto "Browse" seleziono la dll in oggetto che ho preventivamente copiato in System32 (o in SysWOW64, stesso comportamento), appare la finestra di errore (errore1.jpg):

 

errore1.jpg


"System.BadImageFormatException: Impossibile caricare il file o l'assembly 'C:\Windows\System32\RADProcessResults.dll' o una delle relative dipendenze. Il modulo doveva contenere un manifesto di assembly <append><b>System.BadImageFormatException</b>"
Ho allora, seguendo un consiglio trovato sul forum, copiato nella directory di Labview.exe un file di nome "LabVIEW.exe.config" con contenuto:

 
"<?xml version ="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>"


Rifatto la procedura descritta sopra e ora l'errore è il seguente (errore2.jpg):

 

errore2.jpg


"System.BadImageFormatException: Impossibile caricare il file o l'assembly 'RADProcessResults.dll' o una delle relative dipendenze. Tentativo di caricare un programma con un formato non corretto.
InnerException: System.BadImageFormatException: Impossibile caricare il file o l'assembly 'RADProcessResults.dll' o una delle relative dipendenze. Tentativo di caricare un programma con un formato non corretto.
<append><b>System.BadImageFormatException</b>".

 

Perchè non riesco ad importarla? Qual è il problema?

0 Kudos
Messaggio 2 di 3
5.846Visualizzazioni
Soluzione
Accettato da autore argomento sepp974

Ho fatto ricompilare la dll esplicitamente per ambienti a 32 bit ed ora riesco ad importarla. Magari in futuro sarà utile a qualcuno.

0 Kudos
Messaggio 3 di 3
5.743Visualizzazioni