assemblee ILMerge fonde solo gestite, here, per citare dalla loro pagina di download, 'ILMerge è un'utility per la fusione più assembly .NET in un unico assembly .NET'.
Non ho visto un assembly gestito unito a un binario nativo. Tecnicamente, potresti farli unire di per sé, includendo il binario non gestito come una risorsa incorporata, ma il caricamento della risorsa incorporata in memoria come codice binario - non l'ho mai visto prima. Ho provato questa tecnica usando le mappe della memoria ma non ci sono riuscito.
L'altro modo di controllare è cercare nel file binario stesso, se ha la 15a voce nella directory dei dati, ed è diverso da zero quindi è un binario .NET, i binari nativi non hanno questo. Vedi here dove ho postato questa risposta a una domanda simile.
Spero che questo aiuti, Cordiali saluti, Tom.
Una volta eseguita questa utility, come si può sapere se si tratta di un codice gestito in modo puramente formale? Ho appena ricevuto: "Tutte le classi e i metodi in verificati". –
@DanW: allora va tutto bene. Avrai errori altrimenti. Se invocato da uno script o un altro programma, è possibile verificare un codice di uscita diverso da zero che indica errori. Puoi testare questo usando la parola chiave "non sicura" in C#. –