Especificar la ubicación de un ensamblado

Actualización: noviembre 2007

La ubicación de un ensamblado se puede especificar de dos maneras:

También se puede usar la herramienta Configuración de .NET Framework (Mscorcfg.msc) para especificar ubicaciones de ensamblados o ubicaciones en las que el Common Language Runtime debe buscar ensamblados.

Utilizar el elemento <codeBase>

El elemento <codeBase> sólo se puede usar en archivos de configuración del equipo o de directivas del editor que también redirigen la versión del ensamblado. Cuando el tiempo de ejecución determina la versión del ensamblado que se va a usar, aplica el valor del código base del archivo que determina la versión. Si no se indica ningún código base, el tiempo de ejecución busca el ensamblado por los métodos normales. Para obtener más información, vea Cómo el motor en tiempo de ejecución ubica ensamblados.

En el ejemplo siguiente se muestra cómo se especifica la ubicación de un 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 tengan nombre seguro. El elemento <codeBase> requiere el atributo href. En el elemento <codeBase> no se pueden especificar intervalos de versiones.

Nota:

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

Utilizar el elemento &lt;probing&gt;

El tiempo de ejecución ubica los ensamblados que no tienen un código base mediante búsquedas. Para obtener más información sobre las búsquedas, vea Cómo el motor en tiempo de ejecución ubica ensamblados.

El elemento <probing> se puede usar en el archivo de configuración de la aplicación para especificar subdirectorios en los que debe buscar el tiempo de ejecución para encontrar un ensamblado. En el siguiente ejemplo se muestra cómo se especifican directorios en los que debe buscar el tiempo 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 en los que el tiempo de ejecución debe buscar los ensamblados. Si la aplicación está en C:\Program Files\MyApp, el tiempo de ejecución buscará los ensamblados que no especifican un código base en C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin y C:\Program Files\MyApp\Bin3. Los directorios especificados en privatePath deben ser subdirectorios del directorio de la base de la aplicación.

Vea también

Conceptos

Cómo el motor en tiempo de ejecución ubica ensamblados

Otros recursos

Ensamblados en Common Language Runtime

Programar con ensamblados

Configurar aplicaciones