Tengo un ejecutable principal que se ejecuta en función de la configuración guardada en un archivo de configuración. Quiero ser capaz de cambiar la configuración en el archivo de configuración a través de un ejecutable diferente.

Hay una manera fácil de construir estos dos archivos ejecutables diferentes en un proyecto de Formularios Windows forms? Lo que significa que cuando presiono construir, dos diferentes archivos EXE se crea en la misma carpeta de la solución – la que cambia el archivo de configuración, y el otro que lo utiliza.

Sé que es posible hacerlo si puedo crear dos proyectos independientes que utilizan la misma carpeta de la solución, pero tenía la esperanza de hacerlo todo en un solo paso.

Estoy asumiendo que, para hacer esto, necesito un proyecto con dos «Principales» de las funciones. Es esto posible?

InformationsquelleAutor Gevo12321 | 2015-11-18

2 Comentarios

  1. 12

    Se puede construir como muchas de las asambleas en una solución como te gusta. Las asambleas pueden resultar en archivos DLL o EXE archivos.

    Crear una solución (o abrir una ya existente de la solución).

    1. Haga clic derecho en el nodo raíz en el Explorador de soluciones y seleccione AgregarNuevo Proyecto y elegir el tipo de proyecto que usted desea añadir.

    2. Haga clic en el elemento de proyecto en el Explorador de soluciones y seleccione PropiedadesConstruirruta de Salida. Establecer, en el directorio donde para construir. Repita este procedimiento para los otros proyectos.

    Esta manera se obtiene la siguiente en el Explorador de soluciones:

    • MySolution
      • MyCommonCode (Biblioteca de Clase, los resultados en MyCommonCode.dll)
      • MyMainApp (aplicación de Windows Forms, los resultados en MyMainApp.exe)
      • MyConfigApp (aplicación de Windows Forms, los resultados en MyConfigApp.exe)

    La MyCommonCode de la asamblea contiene el código compartido que ambos archivos EXE están usando, como los identificadores de su archivo de configuración, etc.

    MyMainApp es la interfaz gráfica de usuario de la aplicación (Windows Forms, WPF, etc.) para su aplicación principal con un proyecto de referencia para la MyComonCode proyecto.

    MyConfigApp es una aplicación de interfaz de usuario para la edición de la configuración de los valores con una referencia de proyecto a MyCommonCode proyecto.

    Después de la construcción de su solución se obtiene la siguiente binarios: MyCommonCode.dll, MyMainApp.exe, y MyConfigApp.exe.

    Actualización basada en el comentario:

    Una compilación de ejecución puede construir sólo uno binario (DLL o EXE) por proyecto. Usted puede hacer algo parecido a la respuesta de arriba: mueve la mayoría del código en común/core DLL y hacer dos delgadas proyectos para los dos archivos EXE que sólo «configurar y utilizar» la central común/core archivo DLL.

    Puede crear diferentes archivos EXE basado en el mismo proyecto usando el compilador define. Usted puede incluso definir sus propios define. Pero por compilar y ejecutar sólo se puede construir a uno binario (DLL, EXE) por proyecto – uno o el otro, pero no ambos.

    • Eso es todo correcto, por supuesto, pero no es lo que él pidió. La pregunta del título es de varios archivos ejecutables en un proyecto. Y dijo, además, «sé que es posible hacerlo si puedo crear dos proyectos independientes que utilizan la misma carpeta de la solución»
    • Gracias por aclarar – no entiendo.
    • Aún así, creo que la respuesta a su pregunta es «no», y diría que esta es la manera correcta de abordar el problema. Poner la configuración y el código para leer/actualizar en el que se comparte «Común» del proyecto.
  2. 0

    La idea de un archivo de configuración es que usted no necesita construir múltiples archivos ejecutables. 😉

    Podría utilizar el el Administrador de Configuración de, para crear un nuevo configuración de la Solución y cambiar el directorio de salida para la configuración.

    • La razón por la que quiero hacer esto, es tener un «admin» quién tiene acceso a la configuración del editor para ser capaz de controlar, que cuenta con un «non-admin» que tiene acceso el usuario.

Dejar respuesta

Please enter your comment!
Please enter your name here