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
Otros recursos
Ensamblados en Common Language Runtime
Fundamentos de la ejecución simultánea