Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El ejemplo Client explicado anteriormente presenta una debilidad importante: los dos archivos, Client.exe y Stringer.dll, deben residir en el mismo directorio. Sin embargo, en el mundo real, a menudo resulta más ventajoso utilizar una estructura de directorios para administrar componentes. .NET Framework proporciona un mecanismo de configuración que permite a los administradores especificar un directorio desde el que se cargarán los componentes privados.
El subdirectorio 3_SimplePath contiene una versión del programa que funciona con un directorio privado, basada en el ejemplo Client anterior. Todo el código fuente es el mismo, pero el proceso de creación se ha modificado con propósitos ilustrativos para generar Stringer.dll en el subdirectorio Stringer:
csc /target:library /out:Stringer\Stringer.dll
... Stringer\Stringer.cs
csc /reference:Stringer\Stringer.dll ... Client.cs
Aunque la opción de compilación /reference: funciona para localizar un componente en un subdirectorio al compilar el programa, hace falta un archivo de configuración de aplicación independiente basado en XML como motor de tiempo de ejecución para poder admitir componentes que se encuentran en otros directorios. En el caso de los archivos ejecutables de cliente, como los que se tratan en este tutorial, el archivo de configuración reside en el mismo directorio que el archivo ejecutable y tiene el nombre completo de éste con la extensión adicional .config. El archivo Client.exe.config del ejemplo especifica una etiqueta privatePath:
Lista 1. Archivo de configuración de Client.exe (Client.exe.config)
<configuration>
<runtime>
<assemblyBinding
xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Stringer"/>
</assemblyBinding>
</runtime>
</configuration>
Cuando este archivo de configuración se encuentra en el mismo directorio que el archivo ejecutable, el entorno .NET utiliza la etiqueta privatePath en el motor de tiempo de ejecución para determinar dónde se buscarán los componentes, además de buscar en el directorio de la aplicación.
**Nota **Al cargar un ensamblado, el motor de tiempo de ejecución también busca una ruta de acceso privada que tenga el mismo nombre que el ensamblado.
Vea también
Implementar aplicaciones con rutas de acceso privadas | (4) Componente compartido | (5) Control de versiones de componentes | Resumen de empaquetado e implementación | Apéndice A: Información adicional acerca del empaquetado y de la implementación | Apéndice B: Herramientas de empaquetado e implementación