¿Cómo administro las referencias de elementos de implementación que pueden estar en una instalación x86 o en una instalación x64 para un proyecto basado en MSTest?

StackOverflow https://stackoverflow.com/questions/267439

  •  06-07-2019
  •  | 
  •  

Pregunta

Muy relacionado con esta pregunta , tenemos un escenario en mi equipo en el que necesitamos copiar el contenido de una carpeta para un conjunto de bibliotecas y archivos de configuración para dichas bibliotecas en nuestra carpeta desde donde se ejecuta nuestro código de prueba, como parte del paso de implementación de la prueba.

Debido al tamaño de la instalación y otros factores, no es viable registrar esta carpeta de instalación en el control de origen para compartirla entre los miembros del equipo.

La ruta de instalación para la carpeta es / Program Files / InternalTool / o / Program Files (x86) / InternalTool / dependiendo del entorno instalado. Quiero configurar mi archivo .testrunconfig de modo que cuando una persona obtenga la última versión de la solución, no tenga que preocuparse por las reparaciones de la ruta al conjunto de bibliotecas internas compartidas.

¿Hay alguna manera de hacer que esto sea perfecto para todos los miembros involucrados, y si es así, cómo se puede lograr esto?

Las restricciones son las siguientes:

  • no se puede registrar en la suite compartida
  • suite compartida no tiene anulación para la ruta de instalación

¿Es esto posible, o estoy pidiendo demasiado?

¿Fue útil?

Solución 2

Esto fue realmente mucho más fácil de lo que esperaba.

Si bien la interfaz de usuario no admite muchas cosas con el archivo de configuración de ejecución de prueba local, pude establecer la ruta utilizando el% ProgramFiles% estándar.

  • En sistemas x86, esto resuelve, en la mayoría de los sistemas, C: \ Archivos de programa \.
  • En sistemas x64, esto resuelve, en la mayoría de los sistemas, C: \ Archivos de programa \.

Pero! Si el llamante es de 32 bits y no de 64 bits o está configurado en MSIL,% ProgramFiles% se resolverá en C: \ Archivos de programa (x86) \. Como no hay un mstest de 64 bits, la resolución debería ocurrir sin problemas. Por ejemplo, esto se extrae de mi archivo LocalTestRun.testrunconfig y luego se desinfecta correctamente:

  <Deployment>
    <DeploymentItem filename="%ProgramFiles%\InternalSuite\" />
  </Deployment>

Si bien aún no he tenido la oportunidad de probar esto por completo, esto debería resolver nuestro problema perfectamente. Probé esto en mi sistema de 32 bits y descubrí que se resuelve como lluvia.

¡Espero que esto ayude a alguien más!

Otros consejos

Manejamos este tipo de problema (nuestros problemas no son los mismos pero son similares) al tener diferentes archivos de configuración con diferentes nombres y copiar el correcto cuando sea necesario.

En algunos casos, automatizamos esto dentro del trabajo por lotes que obtiene la última versión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top