Ho esaminato ECMA 335 e ho trovato solo un riferimento alla parola chiave .export
che sembra promettente ma ha pochissima documentazione. Ho trovato domande simili su StackOverflow rispetto a fare questo in C#. Tuttavia, niente di tutto ciò mi ha portato in qualche modo utile finora.Come si esporta un metodo in una DLL CIL in modo che un programma nativo possa chiamarlo?
La linea di fondo è: Ho una DLL CIL e voglio richiamare alcuni dei suoi metodi statici da un'applicazione C++ nativa.
Come la soluzione di Zor mostra, è possibile senza la follia della COM. –
Correggetemi se ho torto, ma ilasm genera ancora un file MSIL PE, ancora non adatto per chiamare da un'applicazione nativa. È ancora necessario un VM .net per eseguire il codice. – antiduh
Il codice gestito non può funzionare magicamente senza una macchina virtuale anche se chiamato tramite COM. La mia soluzione esporta semplicemente i metodi gestiti in modo tale che, quando vengono richiamati dal codice nativo, .NET VM passi dentro e esegua il codice gestito, quindi ritorna al codice nativo. –