Eu preciso de uma alternativa para `Assembly.GetEntryAssembly ()` que nunca retorna null

Preciso encontrar o assembly no qual a execução do código gerenciado foi iniciada.

// using System.Reflection;
Assembly entryAssembly = Assembly.GetEntryAssembly();

Este parece ser o caminho a percorrer, mas oPágina de referência do MSDN paraAssembly.GetEntryAssembly afirma que este método"[c] um retorno nulo quando chamado de código não gerenciado."

Nesse caso, gostaria de saber qual assembly foi chamado por código não gerenciado.

Existe uma maneira confiável de fazer isso, ou seja, um que sempre retorna um valor não nuloAssembly referência?