Compartir a través de


Referencias de ensamblados parcialmente cualificados y ejecución simultánea

Debido a que es una posible fuente de problemas en la ejecución simultánea, sólo se pueden utilizar referencias de ensamblados parcialmente cualificados para enlazar a ensamblados dentro de un directorio de la aplicación. Evite utilizar referencias de ensamblados parcialmente cualificados en el código.

Para reducir las referencias de ensamblados parcialmente cualificados en código, puede utilizar el elemento <qualifyAssembly> de un archivo de configuración de la aplicación para asignar nombres completos a referencias de ensamblados parcialmente cualificados que existen en el código. Utilice el elemento <qualifyAssembly> para especificar sólo los campos que no se hayan establecido en la referencia parcial La identidad del ensamblado enumerada en el atributo fullName debe contener toda la información necesaria para utilizar el nombre completo del ensamblado: nombre del ensamblado, clave pública, referencia cultural y versión.

En el ejemplo siguiente se muestra la entrada del archivo de configuración de la aplicación para utilizar el nombre completo de un ensamblado denominado myAssembly.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
<qualifyAssembly partialName="myAssembly" 
fullName="myAssembly,
      version=1.0.0.0, 
publicKeyToken=..., 
      culture=neutral"/> 
</assemblyBinding> 

Siempre que la instrucción de carga de ensamblados hace referencia a myAssembly, los valores del archivo de configuración hacen que el motor en tiempo de ejecución convierta automáticamente la referencia del ensamblado parcialmente cualificado myAssembly en una referencia completa. Por ejemplo, Assembly.Load("myAssembly") se convierte en Assembly.Load("myAssembly, version=1.0.0.0, publicKeyToken=..., culture=neutral").

Nota

Puede utilizar el método LoadWithPartialName para omitir la restricción de Common Language Runtime que prohíbe cargar ensamblados a los que se hace referencia de forma parcial desde la caché de ensamblados global. Este método se debe utilizar sólo en escenarios remotos porque genera problemas con mucha facilidad en la ejecución simultánea.

Vea también

Conceptos

Nombres de ensamblado

Otros recursos

Ensamblados en Common Language Runtime
Fundamentos de la ejecución simultánea