¿Cómo forzar que se abra un archivo de solución (SLN) en Visual Studio 2013?

Intentar abrir una solución VS 2012 (archivo SLN) explícitamente en VS 2013 tiene éxito. Simplemente haciendo doble clic en Windows Explorer todavía se abre en VS 2012 en su lugar.

He leído “¿ Visual Studio 2012 no convierte la solución vs2010? ” Y seguí la sugerencia de “Guardar como …” el archivo de la solución .

Todavía se abre en VS 2012 de forma predeterminada.

Mi pregunta:

¿Cómo cambiar un archivo SLN para forzar que se abra en Visual Studio 2013?

El archivo .sln indica la versión prevista como una de las primeras líneas, por ejemplo:

 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 

o:

 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 

Sin embargo, solo puede hacer uso de esto si la aplicación predeterminada para los archivos .sln es el “Selector de versiones de Microsoft Visual Studio”. No es raro que la aplicación .sln predeterminada sea una versión específica en su lugar. En Windows 8:

enter image description here

puedes decir cuál es el valor predeterminado porque dice “seguir usando”:

enter image description here

enter image description here

Tenga en cuenta que también puede forzar la actualización de un archivo .sln o .proj utilizando la línea de comandos, donde devenv es la versión IDE de destino:

 devenv "MyProject.sln" /upgrade 

Ejemplo:

 "%programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" "D:\Source\MySolution.sln" /upgrade 

Tenga en cuenta que esto no abre Visual Studio. Una alternativa es, dentro del IDE, seleccionar “Guardar como” para su archivo de solución y sobrescribir o guardar la solución con un nuevo nombre.

Leer más: http://msdn.microsoft.com/en-us/library/w15a82ay.aspx

Parece que el OP ya tiene una respuesta funcional … pero para mí el problema era diferente. Tenía una solución VS 2012 (varias en realidad) y quería convertirlas a 2013 (lo que entiendo es un cambio trivial en el archivo .sln, pero quería hacerlo automáticamente en caso de que hubiera alguna lógica de actualización secreta de la que no tenía conocimiento) .

Así que pensé que lo abriría en VS2013, se actualizaría automáticamente como se esperaba, y luego estaría listo para hacer doble clic en la solución y verla en VS2013 en el futuro. Pero abrir en VS2013 NO actualizó la solución automáticamente como se esperaba y no pude encontrar una forma explícita de forzar la actualización después de abrir el archivo en VS2013. Podría trabajar con la solución, guardar mis cambios y cerrar VS2013, pero el archivo .sln se mantendría sin cambios y sin actualizaciones.

Resulta que mi problema estaba en cómo estaba abriendo la solución … como un hábito, hago clic derecho en los archivos y selecciono “abrir con” para elegir el progtwig que quiero usar para abrir un archivo. Lo hago con frecuencia Nota: NO estoy hablando de cambiar el progtwig predeterminado “abrir con”, sino de abrir un archivo con un progtwig específico una vez. Así que haría clic derecho en el archivo .sln … abrir con Visual Studio 2013 … y no se actualizaría nada.

Eventualmente pensé en entrar en VS2013, luego hacer File> Open y seleccionar el archivo .sln (esto es extraño para mí ya que casi nunca abro nada de esta manera, tal vez sea de la misma manera). De todos modos, actualizó el archivo de solución al instante.

Después de la actualización, las líneas 2-3 del archivo .sln cambiaron a partir de esto:

 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 

a esto:

 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.30501.0 MinimumVisualStudioVersion = 10.0.40219.1 

Por lo tanto, desde mi experiencia, para actualizar automáticamente un VS2012 .sln a VS2013, debe abrir VS2013 y seleccionar .sln en el cuadro de diálogo Archivo> Abrir. Usar el shell del explorador para forzar que el archivo .sln se abra en VS2013 no invoca la lógica de actualización (aparentemente).

Como nota adicional, probé con otra solución, y después de hacer cambios a través de Configuration Manager (que obviamente “toca” el archivo .sln) actualizó un VS2012 a VS2013, incluso después de haberlo abierto haciendo clic con el botón derecho abrir.

Tenía una solución que anteriormente se había actualizado de 2010 a 2013 con éxito, pero todavía mostraba el .sln como asociado con 2010.

Probé todos los métodos proporcionados en este hilo y el único que corrigió satisfactoriamente .sln fue abrir Visual Studio 2013 solo, luego abrir la solución que todavía estaba asociada con 2010 en el IDE, luego usar el [Archivo]> [Guardar (nombre) .sln como] para sobrescribir el archivo .sln existente.

Establecer el archivo asociado de .sln para ser el “selector de versión de Visual Studio” no cambió y la solución continuó abriéndose en 2010.

El método devenv (name) .sln / upgrade no modificó mi archivo .sln.

La piratería del texto sin formato del archivo .sln corrompió la mía y no se abrió en absoluto.

Para resolver este problema, simplemente cambié las siguientes líneas del archivo .sln:

 Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 

en estos:

 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 

La línea de comentarios debe modificarse a medida que el cargador de soluciones la analiza.

Esto puede funcionar para los lectores que intenten actualizar un archivo de solución a Visual Studio 2015. (Actualicé una solución de VS 2012).

  1. Abra la solución en VS 2015.
  2. Agregue un nuevo proyecto a la solución. (Agregué un proyecto de prueba).
  3. Eliminar el proyecto
  4. Guarde la solución.

Es posible que desee eliminar la carpeta del proyecto eliminado en este momento, ya que el paso 3 no lo eliminó.

Esto funcionó para mí cuando ni las respuestas de zumey ni las de TCC funcionaron .

EDITAR

Metro Smurf tuvo una respuesta similar, pero más fácil que la mía, para una pregunta similar . Sus pasos fueron:

  1. Solución abierta en VS 2015
  2. Haga clic con el botón derecho en solución> Agregar> Nueva carpeta de soluciones (el nombre no importa)
  3. Guardar solución
  4. Eliminar la carpeta de solución recién agregada
  5. Guardar solución