Esta question me inspiró a hacer la siguiente pregunta. El atributo DllImport siempre carga el DLL específico incluso cuando no está llamando/usando el método.El atributo DllImport siempre carga la DLL no administrada
Por ejemplo cuando se tiene el siguiente código:
static class Program {
[DllImport("kernel32.dll")]
static extern bool AllocConsole();
static void Main()
{
if (true)
{
//do some things, for example starting the service.
}
else
{
AllocConsole();
}
}
}
Ahora, cuando se inicia la aplicación del AllocConsole nunca será despedido sino que la DLL cargar todos modos?
¿Qué ocurre si lo cambia a '[DllImport (" kernel99.dll ")]'? Suponiendo que no tienes uno de esos, por supuesto. Si no hay ningún error, supongo que no intentó cargarlo. – Blorgbeard