Domanda

Qualche anno fa ho sviluppato un'applicazione servizio di Windows (VB.NET Framework 1.1), che stava usando lo System.Data.OracleClient per accedere a un database Oracle.
Dal momento che il conducente mi ha dato un sacco di guai ho voluto fare riferimento al dataprovider Oracle (Oracle.DataAccess.dll), che funziona molto meglio.
Sul mio PC tutto funziona bene.
Il problema è quando provo a pubblicare il mio app sul server (Windows 2000).
Non riesco a installare il nuovo fornitore di dati di Oracle su quel server e c'è una vecchia installazione di oracle 9,0 (il mio riferimenti app Oracle 9.2).
Ho copiato (senza installazione) in tutta la directory (C: \ oracle \ ora92 \ bin) dal mio PC al server, ma non so come fare riferimento al provider di dati Oracle. So che non è un modo "pulito" di fare le cose, ma non ho la possibilità di installare il nuovo software.
Ho visto che se copio mia app (e tutti i file) nella cartella C: \ oracle \ ora92 \ bin tutto funziona bene
. Vorrei specificare che directory come una directory di sondaggio della mia applicazione. Ho provato diverse soluzioni trovate sul web, ma nessuno di loro sembra funzionare.

Vorrei impostare una cartella in fase di esecuzione o nel mio file di configurazione in modo che la mia applicazione può utilizzare le assemblee là (e tutte le dipendenze).

Posso aggiornare la mia applicazione per il framework 2.0.

Grazie

Alberto

È stato utile?

Soluzione

Farlo il contrario - mettere le assemblee Oracle nella radice dell'applicazione. O meglio ancora - mettere gli assembly nella GAC ??sul server. l'utilità utilizzata per questo (gacutil) deve eseguire sul server più che bene.

forse questo potrebbe aiutare: C #: directory assembly personalizzato

se tutto il resto fallisce, si potrebbe sottoscrivere l'evento AssemblyResolve del dominio di applicazione:

Assemblea Resolve

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top