Hay ocasiones en las que creamos una biblioteca de funciones interesante y la compilamos como una DLL de .NET para su uso desde una o varias aplicaciones propias. Si, por el motivo que sea, no deseamos que este ensamblado se pueda utilizar desde aplicaciones ajena tenemos varias formas de hacerlo.

La más sencilla tal vez sea la que nos permite averiguar cuál es el ensamblado (normalmente un ejecutable '.exe') que está haciendo uso de nuestro código y comprobar alguna propiedad del mismo para verificar que se trata de uno permitido.

El código que nos permite averiguar el ensamblado actual desde el que se ejecuta un método es el siguiente:

System.Reflection.Assembly.GetEntryAssembly()

Con esto ya podemos comprobar las diversas propiedades del ensamblado para ver si cumple lo que nosotros deseamos, utilizando para ello las diferentes propiedades del objeto Assembly.

 Por ejemplo, para aeriguar el nombre del ensamblado que está utilizando nuestro código basta con escribir:

System.Reflection.Assembly.GetEntryAssembly().GetName().Name

 

Escrito por un humano, no por una IA