12

El pequeño equipo de software con el que trabajo recientemente obtuvo la aprobación para actualizar a Visual Studio 2010 (actualmente utilizamos VS 2005). Tenemos varios proyectos ASP.NET 2.0 y WinForms (en .NET 2.0) en producción.¿Qué problemas podría tener al abrir proyectos .NET 2.0 en Visual Studio 2010?

Me han encomendado la tarea de descargar VS 2010 y ver qué tan bien funciona con nuestros proyectos actuales. ¿Qué problemas debería tener en cuenta al orientarme a aplicaciones antiguas en VS 2010? Si abro un proyecto VS 2005 en VS 2010, ¿seguirá funcionando bien cuando mi compañero vuelva a abrir el proyecto en VS 2005? ¿Tendremos que actualizar los proyectos para trabajar en VS 2010 (suponiendo que los proyectos mismos no se actualicen a .NET 4)? ¿Puedo usar VS 2010 para editar aplicaciones heredadas de VB6 (es broma)?

Estoy entusiasmado de trabajar con el software más nuevo, pero nos preocupa tropezar con inconvenientes de desarrollo en las aplicaciones de producción que ya están funcionando bien.

NOTA: Comencé una recompensa con la esperanza de obtener una respuesta más detallada a esta pregunta. Tal vez la respuesta realmente es tan simple como las ya previstas, pero estoy interesado en recibir más comentarios sobre nuestras opciones para la transición de usar VS 2005 a VS 2010.

Respuesta

5

Nuestra compañía nunca tuvo ningún problema para mover nuestros proyectos ASP.NET de 2005 a 2008, por lo que no preveía ningún problema en particular (aunque no nos hemos mudado al 2010, así que tenlo en cuenta). La mayoría de las personas que conozco tienen had the same experience. Como han mencionado otros, hay an automatic upgrade wizard que se encargan de las actualizaciones, y siempre han funcionado perfectamente para todos los proyectos que he actualizado. Sin embargo, no podrá abrir el archivo de la solución recientemente actualizada en versiones anteriores de Visual Studio (entonces haga una copia de seguridad primero si desea retenerlos, aunque es posible que sea posible hack the .sln files to go back si es realmente necesario).

Puede, sin embargo, tiene varias versiones de Visual Studio instalado a la vez (pero recuerda que sólo una versión puede tener extensiones de archivo por defecto de la misma y esto probablemente será la última versión de instalar). Por cierto, si está interesado en por qué no puede abrir soluciones antiguas en una nueva versión sin conversión, entonces read this official VS Blog entry.

Recuerde, sin embargo, que Visual Studio 2010 le permite target any previous version of the .NET Framework. Entonces, si por alguna razón desea que sus proyectos permanezcan en .NET 2.0, puede hacerlo. Sin embargo, en realidad no hay una ventaja real que pueda ver en esto. Personalmente, creo que solo necesita morder la bala y actualizar todo: no es realmente práctico para las personas usar versiones diferentes para las mismas soluciones.

+1

La razón por la que desea mantener sus proyectos en .NET 2.0 es la misma razón por la que las personas aún son compatibles con IE6. No todos tienen .NET 3.5 instalado. .Net no estaba incluido con Windows hasta Vista y eso era v3.0. – blak3r

3

Usted tendrá que actualizar el proyecto.

Eso cambiará el archivo de la solución por lo que esta solución solo se puede abrir en VS2010 después de la actualización.

Aparte de eso, no esperaría ningún problema.

1

Modificará el archivo del proyecto y, por lo tanto, ya no se podrá abrir en versiones anteriores de Visual Studio sin editar ese archivo (o asegúrese de tener copias para cada versión VS).

7

Sin duda tendrá que "actualizar" su proyecto y los archivos de la solución. Esto hace que sea difícil tener un equipo mixto en VS2k5 y VS2k10. El archivo de solución y los archivos de proyecto ya no se pueden abrir en versiones anteriores de Visual Studio después de que se hayan actualizado.

Puede evitar esto teniendo dos copias de cada uno de sus archivos de solución y proyecto, pero esto es torpe ya que obviamente los cambios realizados en uno tendrán que copiarse manualmente en el otro.

In addition, it seems that you won't be able to use any pre-.NET 4.0 nit test projects with VS2010. Si usa MSTest para probar aplicaciones pre-4.0, ese es un argumento en contra de cambiar a VS2k10 en todo. Tendría que portar su aplicación a 4.0, o portar sus pruebas a, p. NUnit.

Hubo algunos errores en Beta 1 con respecto al diseño del explorador de soluciones. Todos los enumerados en Connect son "correctos", pero vale la pena tener en cuenta que el asistente de actualización podría cometer errores que deberá corregir manualmente. Suponiendo que todo tu equipo migre a vs2k10, ese tipo de problema no es un gran problema, ya que es bastante obvio si algo sale mal, es bastante fácil de solucionar y solo ocurre una vez.

+2

¿Pruebas? ¿No es eso para lo que es el botón F5? En serio, sin embargo, aunque los problemas de las pruebas unitarias realmente no afectarán a nuestro equipo, estoy seguro de que la información será invaluable para otros usuarios. –

1

Moví una solución de 2005 a 2010 hace un par de días. Sin problemas, aunque fue una solución con una gran cantidad de proyectos de prueba pequeños y simples. No podrá abrir la solución en 2005 aunque haya realizado la conversión.

2

Al convertir un proyecto de VS 2005 a 2008, o de VS 2008 a 2010, se modifican tanto el archivo de solución como los archivos de proyecto. Pero aunque el archivo de la solución ya no se puede abrir con la versión anterior, el proyecto archivos puede.

Por lo tanto, la mejor manera de actualizar es:

  1. Navegar en el sistema de archivos a su solución original (Original.sln).
  2. Haga una copia de ese archivo de solución.
  3. Cambie el nombre de la copia para que sepa que es VS 2008 (por ejemplo, OriginalVs2008.sln).
  4. Ahora hacer el proceso de actualización en VS 2010.

Una vez finalizada la actualización, podrás abrir su solución en VS 2010 (usando Original.sln) o en VS 2008 (con OriginalVs2008. sln).

Solo recuerde que debe mantener las soluciones sincronizadas; si agrega un proyecto a uno, deberá agregarlo al otro. Pero utilicé esta técnica para compartir proyectos entre VS 2005 y VS 2008, y funciona bien. Confirmé que un proyecto creado en VS 2008, luego convertido a VS 2010, todavía funciona en VS 2008 con un archivo de solución compatible.

+0

Estas son buenas ideas. Una cosa de la que me han advertido es acerca de las nuevas características del lenguaje en 2010 que pueden no funcionar correctamente en 2008. Por ejemplo, en VB.NET 2010, puede continuar el código en una nueva línea sin agregar un carácter '_'. Si escribiera un código como este en 2010 y luego intente consumir ese código en VS 2008, creo que se producirá mediante un error de compilación. –

+0

* ¿Piensas que arrojará un error de compilación? Pruébelo y descubra, como lo hice antes, afirmando que mi método anterior funcionaría para la actualización. –

2

Estamos migrando nuestras soluciones de 2005 a 2010, se abrieron las soluciones y después de terminar el asistente de actualización y luego cambió la versión .Net a 4,0, cuando decimos construimos, que comienza a lanzar 100s de errores:

1. Primer error:

Ya se ha importado un ensamblaje con la misma identidad 'mscorlib, Versión = 2.0.5.0, Cultura = neutro, PublicKeyToken = 7cec85d7bea7798e'.

Solución: abrir su archivo csproj en libreta y encontrar en el

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> and 
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
add <NoStdLib>true</NoStdLib> and 
then find Reference Tag and add <Reference Include="mscorlib" />. 

2.El segundo error:

No se puede eliminar el archivo "bin \ Debug \ <>". Se deniega el acceso a la ruta '<>'.

que no está resuelto ... hemos intentado soluciones presentes en el http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/40ed753e-47af-4638-8a72-1d607102a05c pero el problema no se resuelve, tenemos que cerrar VS 2010 y luego eliminar los archivos manualmente y decir construir en el proyecto, si decimos limpio o reconstruir, dará el mismo error anterior.

3. tercio de error es:

Cuando ejecutamos el asistente de migración en 2010 después de que vimos que todas las referencias del proyecto (no las referencias DLL) se han ido, así que tenemos que abrir todos los proyectos y nuevamente tenemos que agregar la referencia del proyecto para todos los proyectos, que es el trabajo más tedioso.

Cuestiones relacionadas