Situazione
Ho eseguito un sistema di compilazione che esegue molti costruisce per molti progetti. Per evitare che una build abbia un impatto su un'altra, l'utente di build viene bloccato solo sulla sua area di lavoro. Le build vengono eseguite come utenti non privilegiati con capacità di scrittura sull'area di lavoro.Come possono C# utilizzare una DLL legacy semplicemente senza registrazione (regsvr32)
Sfida
Durante la nostra nuova build abbiamo bisogno di usare un lascito 3rdparty DLL che espone la sua interfaccia attraverso COM. Il team di sviluppo desidera registrare la build (regsrv32.exe) ma il nostro regime di sicurezza di build blocca questa attività. Se rilassiamo il regime, la DLL di terze parti inciderà su altre build e se ho due build che hanno bisogno di due versioni diverse potrei avere la build compilata sbagliata rispetto alla versione sbagliata (una possibilità molto reale).
Domanda
Ci sono altre opzioni oltre registrazione per gestire DLL legacy che espongono la loro interfaccia tramite COM?
Grazie per l'aiuto
Peter
in .NET COM è normalmente eseguito tramite Interop per registrare .DLL in .NET si chiamano Assemblies e può essere fatto in diversi modi .. aggiungendo riferimenti tramite VS IDE a livello di progetto, o scrivendo codice che carica e scarica l'assembly .. dal file .Config che ha il riferimento all'assembly e l'utilizzo di tale riferimento all'interno del progetto ... GAC .. – MethodMan
La registrazione è * mai * necessaria quando si costruisce. COM utilizza una libreria di tipi per esporre le interfacce. Se vedi che viene usato Regasm.exe, allora stai sbagliando. Utilizzare Tlbexp.exe –