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

Tengo una solución de Visual Studio bastante complicada (2010, pero no debería importar) que necesito cambiar el nombre.

Quiero cambiar el nombre de las carpetas para que coincida con el nuevo nombre de la solución, pero no puedo encontrar una manera de refactorizar los nombres de las carpetas de forma automática, y pasar por cada archivo de proyecto será doloroso.

¿Hay una manera oficial de hacer esto? Alternativamente (y mucho menos preferiblemente), ¿hay herramientas gratuitas para lograr esto?

Edite manualmente el archivo .sln

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

Este método no sufre los problemas del método Eliminar / agregar archivo de proyecto a continuación (las referencias desaparecen), pero puede ocasionar problemas si su proyecto está bajo control de origen (consulte las notas a continuación). Es por eso 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 revertir).
  3. Imagine que desea renombrar el directorio “Proyecto1” a “Proyecto2”.
  4. Si no usa el control de fuente, cambie el nombre de la carpeta de “Proyecto1” a “Proyecto2” usando Windows Explorer.
  5. Si usa el control de fuente, cambie el nombre de la carpeta de “Proyecto1” a “Proyecto2” usando las funciones provistas por el control de fuente. Esto preserva el historial del archivo. Por ejemplo, con TortoiseSVN , haga clic con el botón derecho en el archivo, seleccione TortoiseSVN .. Rename .
  6. En el archivo .sln, edite todas las instancias de “Proyecto1” para que sean “Proyecto2”, usando un editor de texto como Bloc de notas .
  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 publicar lo 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 no elimina ninguna referencia de otros proyectos a este archivo (una ventaja sobre el método Eliminar / agregar archivo de proyecto , vea mi otra respuesta a continuación).

Advertencias

  • Es importante realizar 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 origen.
  • Si su proyecto está bajo control de fuente, puede crear problemas si cambia el nombre de los archivos o directorios fuera del control de fuente (usando el Explorador de Windows). Es preferible cambiar el nombre del archivo utilizando el marco de control de origen , si puede, para preservar 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 ha agregado un método automático para lograr el mismo resultado que el método manual anterior. Si el espacio de nombre está subrayado con una línea azul ondulada, haga clic en el ícono de la pirámide de acción para:

  • Cambie el nombre del espacio de nombres para que coincida con el nombre del directorio en Windows Explorer, 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 nuevo nombre de directorio en Windows Explorer, por ejemplo, si cambiamos el espacio de nombre a ViewModel2 , ofrecería mover el archivo a la carpeta ViewModel2 .

Sin embargo, esto no necesariamente actualizará los archivos en el control de la fuente, por lo que puede que tenga que usar el método manual.

enter image description here

Actualización 2018-01-31

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

Estos son los pasos que debe seguir 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 nombre predeterminado”.
  3. En el archivo principal de cs (o cualquier otro archivo de código), cambie el nombre de la statement 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 and 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. Borre 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 del proyecto.

  8. Limpiar y reconstruir el proyecto.

Las operaciones Renombrar en Visual Studio solo cambian el nombre de archivo, es decir, para un proyecto, * .prj y para una solución * .sln. Tendrá que cambiar el nombre de las carpetas por separado utilizando el sistema de archivos, y deberá eliminar y leer los proyectos, ya que tendrán nuevos nombres de carpeta. Sin embargo, tenga en cuenta que los archivos de solución y proyecto son respectivamente archivos texst y xml. Puede escribir su propio progtwig que los analiza y cambia el nombre de los nombres de carpeta, de archivo y arregla los archivos del proyecto / solución internamente.

También puede exportar plantillas y luego crear un nuevo proyecto a partir de la plantilla exportada cambiando el nombre como prefiera

A continuación hay una forma paso a paso de cambiar el nombre de su solución completa en Visual Studio 2013

Suponiendo que estamos cambiando un proyecto llamado “HelloWorld.ui” a “Section1to5.ui”

  1. Vaya al explorador de soluciones (captura de pantalla a continuación), haga clic con el botón derecho en el proyecto al que desea cambiar el nombre y seleccione “Cambiar nombre”. Ingresa el nuevo nombre que deseas.

Captura de pantalla de Solution Explorer

  1. Haga clic derecho en el proyecto que acaba de renombrar, y haga clic en “Propiedades”. En la pestaña Aplicación, cambie el “Nombre del ensamblado” y el “Espacio de nombre predeterminado”.

  2. En el archivo principal Program.cs (o cualquier otro archivo de código que haya creado), cambie el nombre de la statement 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 HelloWorld.ui —-> namespace Section1to5.ui

  3. A continuación, expanda las “Propiedades” y haga doble clic en el archivo AssemblyInfo.cs. Notarás el siguiente fragmento de código:

 [assembly: AssemblyTitle("HelloWorld.ui")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("HelloWorld.ui")] [assembly: AssemblyCopyright("Copyright © Microsoft 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] 

Debe cambiar AssemblyTitle y AssemblyProduct en Properties / AssemblyInfo.cs por el nuevo nombre, en este ejemplo de “HelloWorld.ui” a “Section1 to5.ui”. Una vez que haya terminado de cambiar el nombre, guarde y cierre Visual Studio.

  1. En el directorio del proyecto, vaya dentro de la carpeta “HelloWorld.ui” y elimine los directorios “bin” y “obj”.

  2. Una vez que haya terminado, cambie el nombre de la carpeta “HelloWorld.ui” al nuevo nombre del proyecto.

  3. Abra el archivo de soluciones renombrado con un editor de texto como Notepad o Notepad ++ y edite la siguiente línea:

    Proyecto (“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”) = “HelloWorld.ui”, “HelloWorld.ui \ HelloWorld.ui.csproj”, “{39FC65A3-3AE7-4EC9-B8F7-74F971636C70}”

Reemplace todas las instancias de “HelloWorld.ui” el nuevo nombre que ha seleccionado para su proyecto, en este caso “Sección1a5.ui”. Esto cambia la ruta del proyecto al directorio renombrado en el paso 6.

  1. Abra el archivo de soluciones con Visual Studio y limpie y vuelva a generar el proyecto.

  2. Puede observar que el botón “Depurar / Ejecutar” ha sido reemplazado por el botón “Adjuntar”. Si esto sucede, simplemente haga clic derecho en el proyecto y elija la opción “Establecer como proyecto de inicio”. Alternativamente, haga clic en Herramientas> Personalizar> Comandos> Agregar comando> Depurar y agregue el botón.

Has terminado de cambiar el nombre del proyecto, si tienes alguna duda, no dudes en publicarla y estaré encantado de ayudarte.

Elimine las subcarpetas bin y obj para eliminar una carga de referencia incorrecta y luego use Windows para buscar el nombre anterior.

Edite cualquier código o archivo xml encontrado y reconstruido, debería estar bien ahora.

Usar la función “Buscar en archivos” de Notepad ++ funcionó bien para mí (ctrl + H, Buscar en archivos).

http://notepad-plus-plus.org/download/v6.2.2.html

Probé el Renamer de Visual Studio Project, pero arrojó excepciones en los pocos casos en que lo probé.

He tenido un buen éxito con CopyWiz .

No estoy de ninguna manera afiliado a ellos, y aún no lo he pagado, pero es posible que tenga que hacerlo pronto, ya que es la única herramienta que parece funcionar tanto para mis proyectos C # como C ++. Aunque espero que ganen un poco de dinero y continúen mejorando.

Eliminar / agregar método de archivo de proyecto

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

  1. Haga una copia de seguridad de todo su proyecto usando algo como GIT, SVN o WinZip (¡muy importante!).
  2. Dentro de la solución en Visual Studio, elimine el proyecto.
  3. Cambie el nombre del directorio en el Explorador de Windows.
  4. Vuelva a agregar el proyecto en Visual Studio.

Ventajas

  • Puede hacer que el directorio dentro del Explorador de Windows coincida con el nombre del proyecto dentro de la solución.

Desventajas

  • Si elimina una biblioteca, elimina cualquier referencia a dicha biblioteca de otros proyectos. La solución puede no comstackrse después de esto, hasta que vuelva a agregar las referencias a dicha biblioteca (esto es bastante fácil). Esta es la razón por la cual el paso 1 (copia de seguridad) es tan importante.
  • Si tiene control de fuente, perderá el historial del archivo.

Hacer clic con el botón derecho en un proyecto y seleccionar “Abrir carpeta en el Explorador de Windows” es útil para realizar un seguimiento de dónde está almacenado el proyecto mientras realiza este proceso.

Usted puede:

  1. haga clic en archivo-> nuevo-> crear proyecto del proyecto existente

  2. seleccione su archivo original, ej. solución 1 e ingrese la nueva solución de nombre de archivo 2

  3. cambiar el nombre del proyecto en la nueva solución 2

Si está creando un sitio web en Visual Studio 2010. Puede cambiar el nombre del proyecto de la siguiente manera.

Paso 1: en Visual Studio 2010, el archivo SLN se almacenará en la carpeta del proyecto dentro de Visual Studio 2010 y los archivos de origen se almacenarán en la carpeta del sitio web dentro de Visual Studio 2010.

Paso 2: Cambie el nombre de la carpeta haciendo clic derecho en esa carpeta hacia adelante mediante Cambiar nombre que contiene su proyecto SLN.

Paso 3: Cambie el nombre del nombre del archivo SLN haciendo clic con el botón derecho en ese archivo SLN reenviar por Cambiar nombre.

Paso 4: Cambie el nombre de la carpeta que contiene la fuente de ese archivo SLN en el sitio web en Visual Studio 2010.

Paso 5: Entonces, finalmente, haga doble clic en Su archivo SLN y cambie la raíz de su carpeta fuente SLN.

La única solución que funciona para mí en Visual Studio 2013 en un proyecto WEB:

Digamos que quiero cambiar el nombre de “project1” para que sea “project2”. Digamos que la ruta física a mi archivo .sln es: c: \ my \ path \ project1 \ project1.sln

así que la ruta a mi archivo .csproj así como a las carpetas bin y obj debería ser: c: \ my \ path \ project1 \ project1 \

  1. Abra la solución en VS haciendo doble clic en el archivo project1.sln.

  2. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto (¡NO en la solución!), Seleccione Cambiar nombre e ingrese un nuevo nombre.

  3. 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 nombre predeterminado”.

  4. En el archivo CS principal (o cualquier otro archivo de código como Global.asax, por ejemplo), cambie el nombre de la statement 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:

espacio de nombres project1

4.1 En el Explorador de soluciones, haga clic con el botón derecho en el proyecto (¡NO en la solución!), Seleccione Cambiar nombre e ingrese un nuevo nombre.

  1. Asegúrese de que: AssemblyTitle y AssemblyProduct en Properties / AssemblyInfo.cs estén configurados con el nuevo nombre (“project2”).

1 [assembly: AssemblyTitle (“Nuevo nombre aquí”)] 2 [assembly: AssemblyDescription (“”)] 3 [assembly: AssemblyConfiguration (“”)] 4 [assembly: AssemblyCompany (“”)] 5 [assembly: AssemblyProduct (” Nuevo nombre aquí “)] 6 [assembly: AssemblyCopyright (” Copyright © 2013 “)] 7 [assembly: AssemblyTrademark (” “)] 8 [assembly: AssemblyCulture (” “)]

  1. Cierre el Visual Studio.

  2. Borre los directorios bin y obj físicamente.

  3. Cambie el nombre de la carpeta principal y la carpeta de origen al nuevo nombre (project2):

En el ejemplo: c: \ my \ path \ project1 \ project1

será: c: \ my \ path \ project2 \ project2

  1. Cambie el nombre del archivo SLN haciendo clic con el botón derecho en ese archivo SLN reenviar por Renombrar.

  2. Luego, finalmente abra el archivo SLN (dentro del bloc de notas o cualquier editor) y copie y reemplace (Ctrl + h) cualquier nombre anterior al nuevo nombre.

  3. Abra VS y haga clic en CONSTRUIR -> Solución limpia

  4. haga clic en Build -> Build solution y luego en F5 para ejecutar …

  5. Nota 1: Si obtiene algo como esto: Error de comstackción CS0246: No se pudo encontrar el tipo o el nombre del espacio de nombres ‘project2’ (¿falta una directiva using o una referencia de ensamblado?)

Archivo fuente: c: \ Users \ Nombre de usuario \ AppData \ Local \ Temp \ Temporal ASP.NET Files \ root \ 78dd917f \ d0836ce4 \ App_Web_index.cshtml.a8d08dba.b0mwjmih.0.cs

Luego vaya a la carpeta “Archivos temporales de ASP.NET” y elimine todo.

  1. Nota 2: Si está tratando de hacer “guardar como” en un nuevo proyecto nombrado y mantener también el anterior, considere duplicar su base de datos modificando connectionStrings en web.config y también reiniciando migraciones si tiene una en el proyecto. proyecto.

Soy nuevo en VS. Acabo de tener el mismo problema: necesitaba cambiar el nombre de un proyecto iniciado después de un par de semanas de trabajo. Esto es lo que hice y funcionó.

  1. Por si acaso, haga una copia de seguridad de su carpeta Project, aunque no la tocará, ¡pero por las dudas!
  2. Cree un nuevo proyecto y guárdelo usando el nombre que desea para su “nuevo” proyecto, es decir, el nombre al que desea cambiar su “antiguo” proyecto.
  3. Constrúyelo. Después de eso, tendrá un proyecto con el nombre que quería pero que no tiene nada más que abrir una ventana (una aplicación de Windows Form en mi caso).
  4. Con el nuevo proyecto abierto, haga clic en Proyecto-> Agregar elemento existente y con Windows Explorer ubique su carpeta ‘anterior’ Proyecto y seleccione todos los archivos en … Visual Studio xxx \ Projects \ oldApp \ oldApp
  5. Seleccione todos los archivos allí (.vb, .resx) y agréguelos a su ‘nuevo’ Proyecto (el que ya debería estar abierto).
  6. Casi el último paso sería abrir su archivo de proyecto utilizando la solución
    Explorer y en la primera pestaña cambiar el formulario de inicio predeterminado al formulario que debería ser.
  7. Reconstruye todo

Tal vez más pasos pero menos o nada de tipeo, solo algunos clics del mouse. Espero eso ayude 🙂

Si tiene problemas para cargar proyectos Compartidos, como Xamarin, recuerde cambiar la referencia a bibliotecas compartidas en archivos csproj. Desarrollé un juego CocosSharp y los proyectos Droid / iOS / WP81 no querían cargar. Tuve que cambiar la línea a continuación en cada archivo csproj (Driod / iOS / WP81) que hacía referencia a la biblioteca compartida. Esto se debió a que los nombres de las carpetas cambiaron, así que reemplace YOUR_PREVIOUS_NAMESPACE con sus nuevos nombres de carpetas.

  

También noté que para los proyectos .Driod, el nombre del ensamblado en las propiedades del proyecto no se puede cambiar usando Visual Studio (uso 2015). Tuve que cambiar el nombre del ensamblado manualmente en el archivo .Droid.csproj.

 YourNameSpace 

Luego cargué la solución y en la vista de propiedades del proyecto apareció el nuevo nombre. Después de reconstruir dll con ese nombre fue generado.

He usado la extensión de Visual Studio “Full Rename Project” para cambiar el nombre de los proyectos en una solución ASP.NET Core 2.

Usé ReSharper para ajustar el espacio de nombres (haga clic derecho en el proyecto, refactor, ajuste los espacios de nombres …)

https://marketplace.visualstudio.com/items?itemName=KuanyshNabiyev.FullRenameProject

enter image description here

Para cambiar el nombre de un sitio web:

http://www.c-sharpcorner.com/Blogs/46334/rename-website-project-in-visual-studio-2013.aspx

localice y edite applicationhost.config de IISExpress, que se encuentra aquí: C: \ Users {username} \ Documents \ IISExpress \ config

junto con la respuesta de este enlace

https://stackoverflow.com/a/19844531/6767365

renombrar estos archivos Cambié el nombre de mi proyecto a MvcMovie y funciona bien enter image description here