Utilice siempre el set de herramientas más reciente disponible en Visual Studio

Tengo un proyecto de VC ++ que algunas personas en el equipo abren usando VS2105 y otros VS2017, pero los anteriores necesitan editar constantemente el proyecto para seleccionar v140 en lugar de v141 para poder build. ¿Hay alguna manera de seleccionar automáticamente el set de herramientas más reciente disponible? Es decir, de forma tal que los usuarios de VS2015 usan automáticamente el set de herramientas v140, y los usuarios de VS2017 también usan el v141 automáticamente.

Una idea que me viene a la mente es tener dos proyectos que refieren los mismos files de código fuente, cada uno usando un set de herramientas diferente. Pero luego, cualquier cambio (por ejemplo, agregar un nuevo file o una nueva biblioteca al proyecto) tendría que hacerse dos veces 🙁

Otra podría ser una twig que solo difiere en el set de herramientas especificado, y constantemente rebase a medida que evoluciona la twig maestra, pero luego volver a contribuir se vuelve torpe 🙁

Guarde 2 files de solución, uno *_2015.sln y uno *_2017.sln .

Comience después de esto descubriendo la solución más eficiente para actualizar manualmente solo uno de estos siempre que sea necesario. Luego, escriba un guión para modificar el uno para crear el otro. Añada esa secuencia de commands a CI o cree una secuencia de commands, una secuencia de commands de inserción de Git o lo que sea.

Cada vez que te encuentres pronunciando las palabras, "Me encuentro teniendo que hacer constantemente x, y, z". Debería pensar: "¿Cómo puedo automatizar esto?", seguido de encontrar uno o más methods manuales para completar la tarea, y luego elegir el más fácil de automatizar, especialmente cuando una tarea puede completarse cambiando el text en un file. .

Si tiene una configuration de CI, debería ser capaz de vincular dicha secuencia de commands para desencadenar cualquier nueva confirmación.

(lo siento si esta respuesta es demasiado básica …)