Compartir vía


Especificar la ubicación de un ensamblado

Nota:

Este artículo es específico de .NET Framework. No se aplica a implementaciones más recientes de .NET, incluido .NET 6 y versiones posteriores.

Hay dos maneras de especificar la ubicación de un ensamblado:

También puede usar la Herramienta de configuración de .NET Framework (Mscorcfg.msc) para especificar ubicaciones de ensamblado o especificar ubicaciones de Common Language Runtime que se van a sondear para ensamblados.

Uso del elemento <codeBase>

Puede usar el elemento <codeBase> sólo en archivos de configuración de máquina o directiva de publicador que también redirijan la versión del ensamblado. Cuando el tiempo de ejecución determina la versión del ensamblado que se va a usar, aplica la configuración base del código del archivo que determina la versión. Si no se indica ninguna base de código, el tiempo de ejecución sondea el ensamblado de la manera normal. Para obtener más detalles, vea Cómo el motor en tiempo de ejecución ubica ensamblados.

En el ejemplo siguiente se muestra cómo especificar una ubicación de ensamblado.

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="myAssembly"
                           publicKeyToken="32ab4ba45e0a69a1"
                           culture="en-us" />
         <codeBase version="2.0.0.0"
                   href="http://www.litwareinc.com/myAssembly.dll"/>
       </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

El atributo version es necesario para todos los ensamblados con nombre seguro, pero se debe omitir para los ensamblados que no tienen un nombre seguro. El elemento <codeBase> requiere el atributo href. No se pueden especificar intervalos de versiones en el elemento <codeBase>.

Nota

Si proporciona una sugerencia base de código para un ensamblado que no tiene un nombre seguro, la sugerencia debe apuntar a la base de la aplicación o a un subdirectorio del directorio base de la aplicación.

Uso del elemento <probing>

El tiempo de ejecución busca ensamblados que no tienen una base de código mediante sondeos. Para obtener más información sobre los sondeos, vea Cómo el motor en tiempo de ejecución ubica ensamblados.

Puede usar el elemento <probing> en el archivo de configuración de la aplicación para especificar subdirectorios que el runtime debe buscar al buscar un ensamblado. En el ejemplo siguiente se muestra cómo especificar directorios en los que se debe buscar el entorno de ejecución.

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin;bin2\subbin;bin3"/>
      </assemblyBinding>
   </runtime>
</configuration>

El atributo privatePath contiene los directorios que el runtime debe buscar ensamblados. Si la aplicación se encuentra en C:\Archivos de programa\MyApp, el tiempo de ejecución buscará ensamblados que no especifiquen una base de código en C:\Archivos de programa\MyApp\Bin, C:\Archivos de programa\MyApp\Bin2\Subbin y C:\Archivos de programa\MyApp\Bin3. Los directorios especificados en privatePath deben ser subdirectorios del directorio base de la aplicación.

Vea también