Conversión de la solución VS2012 a VS2010

127

Estoy trabajando en el proyecto VB con VS 2012 y después de terminar intento agregar el proyecto de configuración.

No lo encontré (porque el Proyecto de instalación se suspendió después de VS2010), así que cambié a VS2010 pero el problema es que el proyecto no se abrirá y recibo este mensaje:

El archivo seleccionado es un archivo de solución, pero fue creado por una versión más reciente de esta aplicación y no se puede abrir.

Probé este artículo: http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 e intenté convertir de 2012 a 2010 pero aparece el mismo mensaje.

HokaHelal
fuente
¿Por qué no usas VS2010 para crear un solo proyecto de configuración? Por lo que recuerdo, no necesitas incluir proyectos y puedes agregar los archivos tú mismo
Carsten
De acuerdo, esta puede ser una solución a la idea si siempre incluimos la configuración con el proyecto en la misma solución para acelerar la compilación / implementación
HokaHelal
1
¿Tienes sp1 en vs2010? Creo que necesita el paquete de servicio para abrir los archivos de proyecto / solución de 2012.
Georgi Stoyanov

Respuestas:

306

También me enfrenté al problema similar. Busqué en Google pero no pude encontrar la solución. Así que lo intenté por mi cuenta y aquí está mi solución.

Abra su archivo de solución en el bloc de notas. Haz 2 cambios

  1. Reemplace "Formatear versión 12.00" con "Formatear versión 11.00" (sin comillas).
  2. Reemplace "# Visual Studio 2012" con "# Visual Studio 2010" (sin comillas).

Espero que esto te ayude también ..........

Bhavin
fuente
3
¿Hay un inconveniente en hacer esto? Parece demasiado fácil ser verdad.
kbeal2k
44
No funcionó para mí, ¿aún mantenía que era incompatible?
David
3
Gracias por este consejo! Funciona incluso para degradar un proyecto de API web ASP.NET. Además de adaptar la versión de formato 12.00 a la versión de formato 11.00 en sln y ajustar el elemento TargetFrameworkVersion en csproj desde 4.5> 4.0; Tuve que eliminar el elemento httpRuntime en web.config y ajustar el atributo targetFramework de compilación en web.config desde 4.5> 4.0
AardVark71
2
Fantástico, no puedo creer que no haya compatibilidad con versiones anteriores.
Stephen Murby
1
Acabo de caer en esta trampa usando VS2013 - volví a cambiar el formato a 11 y todo estuvo bien nuevamente en VS2010 - ¡gracias!
Surfbutler
121

Solo para elaborar la excelente respuesta de Bhavin: la edición del archivo de solución funciona, pero aún puede obtener el error incompatible (como informó David) si tenía .NET 4.5 seleccionado como la versión predeterminada de .NET en su proyecto VS2012 y su entorno VS2010 no apoyar eso.

Para solucionarlo rápidamente, abra el archivo .csproj VS2012 en un editor de texto y cambie la TargetFrameworkVersion a 4.0 (de 4.5). VS2010 cargará felizmente la solución y los proyectos "editados".

También tendrá que editar un archivo app.config que tenga referencias a .NET 4.5 de manera similar para permitir que se ejecuten en un entorno .NET 4.0.

Rory Solley
fuente
55
Esto junto con la respuesta de Bhavin funcionó perfectamente. Gracias a los dos.
desaivv
2
Gracias por este consejo! Funciona incluso para degradar un proyecto de API web ASP.NET. Además de adaptar la versión de formato 12.00 a la versión de formato 11.00 en sln y ajustar el elemento TargetFrameworkVersion en csproj desde 4.5> 4.0; Tuve que eliminar el elemento httpRuntime en web.config y ajustar el atributo targetFramework de compilación en web.config desde 4.5> 4.0
AardVark71
Además, es posible que, como lo hice, tenga que revisar sus archivos .vcproj y cambiar el conjunto de herramientas de la plataforma de v110 a v100.
Xyon
2

Tuve un problema similar y ninguna de las soluciones anteriores funcionó, así que elegí un viejo modo de espera que siempre funciona:

  1. Cambiar el nombre de la carpeta que contiene el proyecto
  2. Haga un nuevo proyecto con el mismo nombre con 2010
  3. Diferencia las dos carpetas y->
  4. Copie todos los archivos de origen directamente
  5. Ignorar bin / debug / release, etc.
  6. Diferencia el .csproj y copia todas las líneas que sean relevantes.
  7. Si el archivo .sln solo tiene un proyecto, ignórelo. Si es complejo, difúndelo también.

Eso casi siempre funciona si pasaste 10 minutos y no puedes conseguirlo.

Tenga en cuenta que para problemas similares con versiones anteriores (2008, 2005) generalmente puede salirse con solo cambiar la versión en .csproj y cambiar la versión en .sln o descartarla, pero esto no parece funcionar para 2013 .

Wade Hatler
fuente
2

la solución más simple es ..... abra su sitio web en vs2013 y vaya a Debug-> WebsiteProperties (última opción) se abrirá una nueva ventana ...

en esta ventana, vaya a la opción "Compilar" y cambie la versión de .NET Framework de 4.5 a 4.0 ..... luego seleccione ok. [nota: este paso solo funcionará si su proyecto no tiene dependencias con vs2013 ...]

Ahora abra su sitio web en vs2010

Rakeshyadvanshi
fuente
1

Abra el archivo del proyecto y no la solución. El asistente convertirá el proyecto y, después de convertirlo, cuando genere el proyecto, se generará una nueva solución como VS2010.

Michael Haephrati
fuente
1

La solución de VS2010 es compatible con VS2012. La solución de VS2012 no es compatible con VS2010 -> actualización unidireccional solamente. VS2012 no admite proyectos de configuración. Encuentre aquí más información sobre la compatibilidad VS2010 / VS2012: http://msdn.microsoft.com/en-us/library/hh266747(v=vs.110).aspx

SomeWittyUsername
fuente
1
Leer ese documento dice que HAY cosas que funcionarán bien entre los dos, lo que significa que podría crear un proyecto / solución en VS2012 y abrirlo sin problemas en VS2010. Sin embargo, el documento indica que hay cosas que, si se usan en 2012, no le permitirán abrir en 2010. stackoverflow.com/questions/10902865/… es otra respuesta buena y simple.
brazilianldsjaguar
Si lo lee detenidamente, debería ver una ligera diferencia: los proyectos creados en VS2010 funcionan en VS2012, no al revés. "... puede abrir un proyecto creado en Visual Studio 2010 SP1 ..."
Piotr Lewandowski
0

Solución simple que funcionó para mí.

  1. Instale el editor Vim para Windows.
  2. Abra la solución de proyecto VS 2012 con el editor Vim y modifique la versión destinada a la solución 10 de Visual Studio.
  3. Abra la solución con Visual Studio 2010 .. y continúe con su trabajo;)
Invitado
fuente
¿Por qué Vim y no solo el bloc de notas?
Zac