Il modo migliore per utilizzare una libreria di classi VB.NET da un ++ DLL C?
Domanda
Ho bisogno di usare uno dei miei progetti VB.NET in un progetto C ++. L'interfaccia tra i due sarà per il codice C ++ per istanziare e chiamare i metodi su uno degli oggetti assemblaggio NET.
Sia compilare a DLL (e quindi l'++ DLL C viene caricato dal NTVDM come VDD, ma che probabilmente non è rilevante.)
Se possibile vorrei evitare di utilizzare COM per questo come ho bisogno di distribuire senza toccare il Registro di sistema. Inoltre, sto usando Visual Studio 2008 Express Edition sia per C ++ e VB.NET.
, qual è il modo migliore per fare questo?
Soluzione
Avete veramente bisogno nativo C ++ o si può utilizzare C ++ / CLI?
Se si può fare tutto in C ++ / CLI, quindi vi ritroverete con una pura applicazione .NET.
Se avete bisogno di 'nativo' C ++, quindi è possibile creare un assembly che include gestito e non gestito C ++ direttamente da Visual Studio (nativo C ++ chiama C ++ / CLI che poi chiama con il tuo VB.NET).
E, se si preferisce avere il tutto in un unico assembly è possibile seguire le istruzioni per che collega nativo C ++ in applicazioni C # . Dovrebbe funzionare per VB.NET anche.
E mi raccomando "Expert C ++ / CLI" di Heege (1-59059-756-7)
Altri suggerimenti
Se non si desidera utilizzare COM e io non ti biasimo , vorrei solo creare un webservice, ed esporre la funzionalità attraverso quella. La sua facile per accedere a un servizio Web in C ++ e facile da esporre in VB.NET.
(Update)
Qui è un link a un blog che parla su come esporre il servizio web, senza IIS