PROBLEMA DI UTILIZZO DLL - COM COME ACTIVEX [VISUAL C#]

giovedì 21 febbraio 2008 - 08.55

Namelessx Profilo | Newbie

Salve a tutti,
sono nuovo di questo forum e vorrei esporre un problema che non riesco proprio a capire...
Lavoro su ambiente di sviluppo RSViewStudio per creare sistemi SCADA (Supervisory Control And Data Acquisition) in una applicazione di automazione industriale.
Ho creato per il mio SCADA un ActiveX in Visual C# ( una DLL in cui ho inserito uno UserControl con visibilità COM basato sul Framework 3.5 )
Registro la libreria tramine "RegAsm MiaDll.dll /codebase" e riesco ad importarla senza problemi nel mio SCADA da RSViewStudio...
Provo ad utilizzare il tutto e funziona alla perfezione!
salvo, chiudo, riapro... e mi appare l'errore:
----
Unable to load ActiveX control for display
cause: CAB file missing on the server http://localhost/RSViewActiveXControlSetup/mscoreedll.cab
----
mscoree.dll dovrebbe essere il motore Run-time del Framework...

Ho provato così ad installare l'IIS (Internet Information Services),in localhost ho creato la cartella RSViewActiveXControlSetup e dentro ho piazzato il file mscoreedll.cab...(creato da me tramite CabArc.exe) adesso all'indirizzo http://localhost/RSViewActiveXControlSetup/mscoreedll.cab trovo il file cab.

Riavvio tutto, apro RSViewStudio e trova il file mscoreedll.cab ma mi dice:

----
Unable to load ActiveX control for display
cause: mioControllo: ActiveXControl non found on computer
----

Ho provato da Visual Studio ad accedere all' ActiveXControlTestConteiner, importo il mio UserCotrol e funziona correttamente...
Se da ActiveXControlTestConteiner vado in file->RegistraControlli il mio controllo compare nella lista come

>ProgId MioProgetto.Miocontrollo (che è esattamente il ProgId che inserisco da codice)
>Percorso mscoree.dll

In effetti da quel po' che ne capisco di .NET quando viene richiamato il mio "ActiveX" (il Controllo Utente) viene richiamato il motore RunTime di .NET mscoree.dll che a sua volta richiama e mette in run il mio controllo...

La cosa strana è che tutti gli altri controlli e/o Activex presenti nella lista hanno un percorso del tipo "C:/windows/system32/ecc ecc ecc "

Solo che a questo punto non capisco dove sbaglio...

è normale che il percorso del mio controllo sia mscoree.dll?
E' possibile che non riesco a richiamarlo perchè non c'è un vero percorso del tipo C:/windows/system32/ecc ecc"?
dovrei registrare il mio controllo nella Global Assembly Cache, se si, come?

spero che qualcuno mi possa aiutare! le sto provando veramente tutte...
Grazie a tutti!
Enzo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5