Para no tener que recompilar un proyecto cuando cambian ciertas condiciones (rutas, ubicaciones, etc) conviene almacenar algunas variables en un archivo externo de recursos .resx donde podremos modificar manualmente dichas variables sin tener que recompilar de nuevo el proyecto.
1ª Opción
En nuestro proyecto, elegimos proyecto -> propiedades
Vamos a la última pestaña de recursos y pulsamos sobre “Este proyecto no contiene un archivo de recursos predeterminado….”
Esta acción, nos abre una pantalla de recursos donde podemos introducir la declaración de variables y sus valores correspondientes
Hecho esto, no es necesario que declaremos dichas variables en el código, podemos referirnos a ellas desde nuestro código tecleando My.Resources.[Nombre_Variable]
Estas definiciones se encuentran en la carpeta My Project del explorador de soluciones
Podemos ir al directorio de nuestro proyecto y en la carpeta My Project encontraremos un archivo llamado Resources.resx donde se encuentran definidas nuestras variables, podemos modificar sus valore directamente en el archivo abriéndolo con un editor, por ejemplo notepad++
Y al final del archivo aparecen nuestras definiciones donde podemos cambiar los valores sin necesidad de recompilar el proyecto
En este ejemplo hemos utilizado rutas, pero si no escribimos bien la ruta puede dar error, porque en realidad leerá C:\Ruta_Aplicacion\C:\PRUEBAS Hay que estar atentos a ver que parte de la ruta ponemos, podemos poner por ejemplo en vez de C:\PRUEBAS poner sólo pruebas, y el programa lo añadirá a la ruta de la aplicación, pero si queremos una ruta diferente de la aplicación podemos utilizar la segunda opción.
2ª Opción
Otra solución consiste en añadir un archivo de configuración app.config o settings. En el explorador de soluciones con el botón derecho del ratón pulsamos Agregar -> Nuevo elemento
Sobre la pestaña General de Elementos comunes, elegimos Archivo de configuración
Ahora nos sale una pantalla donde podemos elegir el nombre de la variable y su valor
Si el código creado automáticamente no funciona, podemos editarlo manualmente y dejarlo de este modo:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings"
type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Nombre_de_tu_Proyecto.Properties.Settings"
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false" />
</sectionGroup>
</configSections>
<appSettings>
<!--Directorio de entrada de los
ficheros-->
<add key="dirEntrada" value="C:\Pruebas" />
<!--Directorio
de salida para el fichero una vez unido-->
<add key="dirSalida" value="C:\Pruebas\Out" />
<!--Directorio
donde se deja la copia del original-->
<add key="dirCopiaOriginal" value="C:\Pruebas\Original" />
<add key="dirTemporal" value="C:\Pruebas\TEMPORAL" />
<!--Posicion
final e inicial de coincidencia de archivos-->
<add key="posInicial" value= "1" />
<add key="posFinal" value= "1" />
</appSettings>
</configuration>
Luego en el código le llamamos así a las variables definidas.
Dim dirEntrada As String = ConfigurationManager.AppSettings("dirEntrada").ToString()
Para que el código nos reconozca las instrucciones de llamada a ConfigurationManage, es importante importar antes la librería System.Configuration
Imports System.Configuration
Si aun así no funciona, es posible que tengamos que instalar el paquete System.Configuration desde nuget, para ello sobre el error pulsamos en Mostrar posibles correcciones del error.
Ahora ya podemos editar el archivo app.config o settings para cambiar los valores de las variables definidas, sin necesidad de recompilar el proyecto cada vez.
No hay comentarios:
Publicar un comentario