Saltar al contenido

Forma correcta de cambiar el nombre de la solución (y los directorios) en Visual Studio

Por fin después de tanto trabajar ya hallamos la solución de este inconveniente que muchos los lectores de nuestro sitio han presentado. Si quieres compartir algo más puedes dejar tu conocimiento.

Solución:

Editar manualmente el archivo .sln

Este método está totalmente destinado a cambiar el nombre del directorio del proyecto, como se ve en el Explorador de Windows.

Este método no sufre de los problemas en el Eliminar/añadir método de archivo de proyecto a continuación (las referencias desaparecen), pero puede generar problemas si su proyecto está bajo control de fuente (consulte las notas a continuación). Esta es la razón por la que el paso 2 (copia de seguridad) es tan importante.

  1. Cierre Visual Studio.
  2. Cree una copia de seguridad de su archivo .sln (siempre puede retroceder).
  3. Imagina que quieres cambiar el nombre del directorio Project1 para Project2.
  4. Si no usa el control de código fuente, cambie el nombre de la carpeta de Project1 para Project2 utilizando el Explorador de Windows.
  5. Si usa el control de código fuente, cambie el nombre de la carpeta de Project1 para Project2 utilizando las funciones proporcionadas por el control de código fuente. Esto preserva la historia del archivo. Por ejemplo, con TortoiseSVNhaga clic derecho en el archivo, seleccione TortoiseSVN .. Rename.
  6. En el archivo .sln, edite todas las instancias de Project1 ser Project2usando un editor de texto como NotePad.
  7. Reinicie Visual Studio y todo funcionará como antes, pero con el proyecto en un directorio diferente.

También puede ver la solución de cambio de nombre manualmente o una publicación que describe este proceso manual.

Ventajas

  • Puede hacer que el directorio dentro del Explorador de Windows coincida con el nombre del proyecto dentro de la solución.
  • Este método hace no elimine cualquier referencia de otros proyectos a este archivo (una ventaja sobre el Eliminar/agregar archivo de proyecto método, vea mi otra respuesta a continuación).

Advertencias

  • Es importante hacer una copia de seguridad de todo en un archivo .zip antes de cambiar el nombre de cualquier cosa, ya que este método puede crear problemas con el control de código fuente.
  • Si su proyecto está bajo control de fuente, puede crear problemas si cambia el nombre de archivos o directorios fuera del control de fuente (usando el Explorador de Windows). Es preferible cambiar el nombre del archivo utilizando el propio marco de control de código fuentesi puede, para conservar el historial de ese archivo (consulte el menú contextual con un clic derecho; puede tener una función para cambiar el nombre del archivo).

Actualización 2014-11-02

ReSharper agregó un método automatizado para lograr el mismo resultado que el método manual anterior. Si el espacio de nombres está subrayado con una línea azul ondulada, haga clic en el icono de la pirámide de acción para:

  • Cambie el nombre del espacio de nombres para que coincida con el nombre del directorio en el Explorador de Windows, o;
  • Cambie el nombre del directorio en el Explorador de Windows para que coincida con el espacio de nombres.

En el segundo caso, la palabra final define el nombre del nuevo directorio en el Explorador de Windows, por ejemplo, si cambiamos el espacio de nombres a ViewModel2ofrecería mover el archivo a la carpeta ViewModel2.

Sin embargo, esto no actualizará necesariamente los archivos en el control de código fuente, por lo que es posible que deba usar el método manual.

ingrese la descripción de la imagen aquí

Actualización 2018-01-31

Probado con Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 Actualización 1, 2, 3, 4, 5.

Actualización 2020-05-02

Probado con Visual Studio 2019.

Para cambiar el nombre de una solución:

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto, seleccione Cambiar nombre e ingrese un nuevo nombre.

  2. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Propiedades. En la pestaña Aplicación, cambie el “Nombre del ensamblado” y el “Espacio de nombres predeterminado”.

  3. En el archivo cs principal (o cualquier otro archivo de código), cambie el nombre de la declaración del espacio de nombres para usar el nuevo nombre. Para esto, haga clic con el botón derecho en el espacio de nombres y seleccione Refactorizar > Cambiar nombre, ingrese un nuevo nombre. Por ejemplo:
    namespace WindowsFormsApplication1

  4. Cambie AssemblyTitle y AssemblyProduct en Properties/AssemblyInfo.cs.

    [assembly: AssemblyTitle("New Name Here")]
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("")]
    [assembly: AssemblyProduct("New Name Here")]
    [assembly: AssemblyCopyright("Copyright ©  2013")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]
    
  5. Elimine los directorios bin y obj físicamente.

  6. Cambie el nombre del directorio de la carpeta física del proyecto.

  7. Abra el archivo SLN (dentro del bloc de notas o cualquier editor) y cambie la ruta al proyecto.

  8. Limpiar y reconstruir el proyecto.

Las operaciones de cambio de nombre en Visual Studio solo cambian el nombre del archivo, es decir, *.prj para un proyecto y *.sln para una solución. Deberá cambiar el nombre de las carpetas por separado utilizando el sistema de archivos, y deberá eliminar y volver a agregar los proyectos, ya que tendrán nuevos nombres de carpeta. Sin embargo, tenga en cuenta que los archivos de la solución y del proyecto son respectivamente archivos de texto y xml. Puede escribir su propio programa que los analice y cambie el nombre de las carpetas, los nombres de los archivos y corrija los archivos del proyecto/solución internamente.

Finalizando este artículo puedes encontrar las reseñas de otros administradores, tú también puedes insertar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *