E 'possibile fare entrambe le versioni una gestiti e non gestiti della stessa assemblea C ++?
Domanda
Usiamo un software da un'altra società per uno dei nostri prodotti. Uno sviluppatore da tale società è un pò 'vecchio' e lavora a C (senza offesa). Lavoriamo in Net 3.5 (C #).
Mi ha chiesto se è possibile, con lo stesso codice sorgente (presumibilmente in C, C ++ forse), per creare un assembly che si potrebbe compilare sia in versione gestiti e non gestiti.
Ci sono delle buone ragioni per fare questo?
Soluzione
Per compilare per assembly gestito il codice deve essere scritto utilizzando estensioni gestite C ++ . Si prega di notare che il C non è un linguaggio OO quindi non si può compilare in un assembly gestito.
Il motivo principale per fare questo è se si dispone di una base di codice esistente scritto in C ++ che si desidera utilizzare direttamente in applicazioni .NET senza ricorrere a P / Invoke.