2009-12-16 18 views
5

Duplicar posibles:
Change the Target Framework for all my projects in a Visual Studio Solutioncambiar el marco de destino para todos mis proyectos en un Visual Studio 2008 a 3.5

que un acabo de convertir un proyecto de Visual Studio 2005-2008 a aprovecha las características de .NET 3.5 Framework. Mi solución contiene aproximadamente 80 proyectos y deseo establecer el Marco de objetivos para .NET Framework 3.5 para todos ellos. ¿Hay alguna forma de que pueda hacerlo sin tener que acceder manualmente y cambiarlos uno a uno en Propiedades -> Aplicación -> Marco de destino?

+1

@JimG. Esta pregunta se hizo antes que el duplicado que menciona, por lo que la pregunta es más un duplicado de esta. –

+0

@Paul Hiemstra: Tienes razón. La otra pregunta tiene una recompensa abierta, pero no estoy seguro de que una recompensa necesariamente legitime lo que de otro modo sería un duplicado cerrado. –

Respuesta

4

Usted tendría que editar todos los archivos Csproj y cambiar la línea:

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 

Se puede escribir un programa que escanea los proyectos de carpetas para todos los archivos Csproj, leerlos como texto (o tal vez xml), actualice esa línea y luego vuelva a escribirlas.

Es posible que haya un problema, aunque si no están ya proyectos VS 2008. Así que conviértelos primero. Y a medida que lo haga, probablemente sea igual de rápido (si no más rápido) actualizar manualmente la versión del marco de destino.

Dicho esto, ¿por qué no dejarlo solo hasta que se haga código cambia el proyecto de todos modos. Como su código funciona ahora, y la única razón por la que desea actualizar es hacer uso de las nuevas funciones, tendrá que editar el proyecto de todos modos.

+0

Sí. Ya encontré todas las referencias al marco anterior en los archivos .csproj y los cambio. Me pregunto si me faltaba algo de funcionalidad en Studio. Parece que no. Gracias sin embargo. –

2

En teoría se podría hacer una diferenciación entre los archivos .csproj antes y después de cambiar la versión del marco. .csproj es un archivo XML, por lo que es algo que podría escribir un programa para analizar y cambiar.

En la práctica, no haría esto, ya que puede haber sutilezas que esto puede pasar por alto. Por ejemplo: ¿los proyectos de instalación funcionan de la misma manera? Proyectos de implementación web?

Además, supongamos que le toma un par de segundos para hacer cada uno por su lado. Esto tomará alrededor de dos o tres minutos para hacer toda la solución. ¡Eso en realidad puede ser más rápido que escribir el código ...!

Cuestiones relacionadas