Mi solución actual para renombrar la carpeta del proyecto es:
- Eliminar el proyecto de la solución.
- Cambie el nombre de la carpeta fuera de Visual Studio.
- Vuelva a agregar el proyecto a la solución.
¿Hay una mejor manera?
Mi solución actual para renombrar la carpeta del proyecto es:
¿Hay una mejor manera?
Respuestas:
Usuarios de TFS: si está utilizando un control de origen que requiere que lo advierta antes de cambiar el nombre de los archivos / carpetas, consulte esta respuesta que cubre los pasos adicionales necesarios.
Para cambiar el nombre de la carpeta , archivo ( .*proj
) y nombre para mostrar de un proyecto en Visual Studio:
.sln
archivo directamente en otro editor como Notepad ++ y actualice las rutas allí. (Es posible que deba verificar primero la solución en TFS, etc.)Nota: Otras soluciones sugeridas que implican eliminar y luego volver a agregar el proyecto a la solución romperán las referencias del proyecto.
Si realiza estos pasos, también podría considerar cambiar el nombre de los siguientes para que coincidan:
También considere modificar los valores de los siguientes atributos de ensamblaje :
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
Hay otra forma de hacerlo, utilizando los archivos * .sol, * csproj.
Será así (en relación con el archivo * .sol):
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
Y simplemente cambie la primera parte al nuevo directorio, por ejemplo:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Por supuesto, no olvide mover todo el proyecto a ese directorio.
Esto es sencillo en Visual Studio 2015 (posiblemente funciona en versiones anteriores)
.sln
archivo en el Bloc de notas y cambie la ruta a csproj, es decir, fu\bar.csproj
→ bar\bar.csproj
.Hombre, he luchado con esto. Desafortunadamente, no hay una solución de un clic en Visual Studio, pero si está ejecutando Visual Studio 2012 y su proyecto está bajo control de origen con Team Foundation Server , así es como lo hice funcionar, manteniendo el historial de origen:
(Asegúrese de leer el comentario de @ mjv a continuación, ya que señala que puede omitir los pasos 5-10)
La guía anterior funcionó para mí. Si no funciona para usted, intente eliminar su solución local por completo y elimine la asignación de carpetas en su espacio de trabajo. Reinicie Visual Studio por si acaso. Asegúrese de haber eliminado toda la solución de su computadora. Ahora lea la asignación de la solución en su espacio de trabajo y obtenga la última versión. Ahora prueba los pasos anteriores. Lo mismo se aplica si algo sale mal mientras se siguen los pasos anteriores. Simplemente elimine su solución localmente y obtenga la última fuente, y tendrá una pizarra limpia para trabajar.
Si todavía tiene problemas, asegúrese de no haber cambiado nada manualmente en el archivo de la solución, o intente con otros 'trucos' antes de intentar los pasos anteriores. Si ha cambiado algo y lo ha registrado, es posible que desee considerar hacer una reversión al punto justo antes de comenzar a meterse con el cambio de nombre del proyecto.
Por supuesto, también querrá cambiar el nombre del proyecto en sí, en el Explorador de soluciones. Puede hacerlo antes de los pasos anteriores, pero en ese caso, asegúrese de verificar ese cambio antes de aplicar los pasos anteriores. También puede hacerlo después, pero asegúrese de seguir primero todos los pasos anteriores y verifique los cambios antes de intentar cambiar el nombre del proyecto en el Explorador de soluciones. No recomiendo intentar mezclar los pasos anteriores con un cambio de nombre del nombre del proyecto en el Explorador de soluciones. Sin embargo, podría funcionar, pero recomendaría hacerlo en 2 conjuntos de cambios separados.
VS2012
! Tenga en cuenta que puede evitar los pasos 5 a 10 (es decir, tener que recuperar las carpetas renombradas dentro del Control de origen) si, en cambio, cierra la solución y luego cambia el nombre de las carpetas en VS' Source Control Explorer
lugar de hacerlo Windows Explorer
.
Folder already exists
. Así que tuve que cambiar el nombre de la carpeta nuevamente, WE
luego cambiarla y SCE
luego copiar los archivos en esa carpeta, antes de que funcionara. Así que sigue el comentario de mjv arriba. Tampoco pensé en la necesidad de cambiar los nombres reales de los archivos del proyecto (no solo en VS), lo cual hice como una ocurrencia tardía que me hizo repetir algunos de estos pasos.
Actualmente no. Bueno, en realidad puede hacer clic en el nodo del proyecto roto y en el panel de propiedades buscar la propiedad 'Ruta', hacer clic en el pequeño icono de exploración y seleccionar la nueva ruta.
Voilà :)
La solución más simple es la siguiente:
Hay cuatro pasos necesarios, pero se recomiendan siete. Al final del día, aunque el proyecto se renombra por completo. Técnicamente, el nombre de la carpeta para el proyecto no tiene que coincidir con el proyecto en sí, por lo que incluso ese paso es opcional, pero puede ser confuso si no coinciden. Lo mismo para los nombres de ensamblaje y espacio de nombres.
En la respuesta de andersjanmyr es más fácil cambiar el nombre del proyecto primero.
Además, después de llevar a cabo esos pasos, es posible que desee cambiar el nombre de otras referencias a su antiguo nombre de proyecto.
En las propiedades del proyecto, actualice el Nombre del ensamblado y el Espacio de nombres predeterminado.
Esto actualizará lo siguiente en el archivo del proyecto ...
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
... y eliminará el error "El espacio de nombres no corresponde a la ubicación del archivo, debería ser: 'SomeProjectName'"
Cambie el nombre del espacio de nombres raíz (si tiene ReSharper, haga clic con el botón derecho en el Espacio de nombres y vaya a Refactorizar -> Cambiar nombre).
Cambie todas las apariciones de su antiguo nombre de proyecto en AssemblyInfo.cs .
Para Visual Studio 2017, puede usar mi extensión de Visual Studio:
Cambiará el nombre del proyecto en:
[assembly: InternalsVisibleTo("MyTests")]
. Cuando cambié el nombre MyTests
, no cambió el nombre de esa referencia. Nuevamente, no creo que esto sea de su competencia y es fácil de resolver de forma manual.
Solo tenía que hacer esto yo mismo (usando Visual Studio 2010). Como algunas personas han respondido, el paso más simple parece ser:
Para aquellos que usan Visual Studio + Git y desean mantener el historial del archivo (funciona renombrando proyectos y / o soluciones):
Cerrar Visual Studio
En el archivo .gitignore, duplique todas las rutas de ignorar del proyecto que desea renombrar con versiones renombradas de esas rutas.
Use el comando de movimiento Git de esta manera:
git mv <old_folder_name> <new_folder_name>
Consulte la documentación para ver opciones adicionales: https://git-scm.com/docs/git-mv
En su archivo .sln: busque la línea que define su proyecto y cambie el nombre de la carpeta en la ruta. La línea debería verse así:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
Abra Visual Studio y haga clic derecho en proyecto → Cambiar nombre
Luego, cambie el nombre de los espacios de nombres.
Leí que ReSharper tiene algunas opciones para esto. Pero la simple búsqueda / reemplazo hizo el trabajo por mí.
Elimine los viejos caminos .gitignore.
Ver ítem 3 en el artículo vinculado .
Funcionó para mi.
Lo que funcionó para mí en Visual Studio 2017:
Decía algo así como " volver a agregar proyecto ". Reconstruí todo y todo estaba listo.
Dependencies
>> Add reference
>> Seleccione su nuevo proyecto )
He tenido que hacer esto muchas veces. Es realmente útil poder reutilizar un proyecto existente, pero poder cambiar el nombre del texto en espacios de nombres, archivos y carpetas (incluidos los nombres de archivo / directorio).
El uso de una búsqueda y reemplazo recursivo que comienza en la carpeta raíz significa que el cambio de nombre no rompe los enlaces a los proyectos en los archivos de solución y las referencias del proyecto.
Con este fin, he creado un proyecto para hacer justamente esto. La aplicación también hace un esfuerzo por ignorar las carpetas de control de versiones como .git, .svn y el archivo de configuración .vs. Más información está en el archivo README.
Una solución probada para la extensión de Visual Studio para herramientas de datos para Business Intelligence (SSDT-BI 2013):
Fue probado al 100% y funcionó perfectamente en mi caso.
NOTA: No puedo confirmar si funciona con diferentes plantillas de proyecto y otras versiones de Visual Studio. Como siempre, haga una copia de seguridad de todo de antemano.
He escrito una pequeña herramienta que automatiza todos estos pasos. También es compatible con Subversion por ahora.
Se puede encontrar información sobre las versiones actuales en Visual Studio Project Renamer Infos .
Los últimos lanzamientos ahora se pueden descargar desde la página de descarga de Visual Studio Project Renamer .
La retroalimentación es muy apreciada.
A menudo tuve el mismo problema de cambiar el nombre de un proyecto en Visual Studio y editar el nombre de la carpeta, el nombre del proyecto y el archivo .sln para lograrlo. Acabo de escribir un VBScript script que logra todo eso. Debe tener cuidado con las cadenas que elige para reemplazar.
Solo tiene que colocar el archivo .vbs en el mismo directorio que el archivo .sln de la solución.
' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"
Const ForReading = 1
Const ForWriting = 2
Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)
' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close
' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"
' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
Nota : Esta solución es para Visual Studio 2008, pero debería funcionar aquí.
.sln
archivo ubicado en la carpeta principal..sln
archivo. Haga clic Yes..sln
archivo tenga el mismo nombre que la carpeta. No es obligatorio, pero mantiene la coherencia).Hecho.
Cuando se usa TFS, el paso 2 es cambiar el nombre de la carpeta en el control de origen y luego obtener la última versión antes de volver a abrir la solución.
Recientemente subimos una versión beta de una extensión gratuita de Visual Studio que hace esto por usted.
Echa un vistazo a la galería de Visual Studio: descarga de la galería
Abra .sln en un editor de texto y, en la línea siguiente, cambie <FolderName> a su nuevo nombre de carpeta Proyecto ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965} "
Surgen problemas similares cuando se debe crear un nuevo proyecto y desea un nombre de carpeta de proyecto diferente al nombre del proyecto.
Cuando crea un nuevo proyecto, se almacena en
./path/to/pro/ject/YourProject/YourProject.**proj
Supongamos que desea tenerlo directamente en la ject
carpeta:
./path/to/pro/ject/YourProject.**proj
Mi solución para lograr esto es crear el proyecto con la última parte de la ruta como su nombre, para que no cree un directorio adicional:
./path/to/pro/ject/ject.**proj
Cuando ahora cambia el nombre del proyecto desde Visual Studio, logra el objetivo sin tener que abandonar Visual Studio:
./path/to/pro/ject/YourProject.**proj
La desventaja de este enfoque es que también debe ajustar el espacio de nombres predeterminado y el nombre del binario de salida, y que debe actualizar los espacios de nombres en todos los archivos incluidos en la plantilla del proyecto.
Yo uso Visual Studio 2013 y TFS 2013.
Lo hice así:
Existe un enfoque más simple que se probó en Visual Studio 2013 Update 1 y se aplica a proyectos conectados con TFS:
La forma más simple es ir a la propiedad de la ventana, cambiar el nombre de los espacios de nombres predeterminados y luego se cambia el nombre.
Hice lo siguiente:
<Crear una copia de seguridad de toda la carpeta>
Cambie el nombre del proyecto desde Visual Studio 2013 (opcional / no necesario).
Exporte el proyecto como plantilla.
Cierra la solución.
Vuelva a abrir la solución.
Cree un proyecto a partir de la plantilla guardada y use el nombre que desee.
Eliminar del explorador de soluciones el proyecto anterior.
En este punto, intenté compilar la nueva solución, y para hacerlo, tuve que copiar manualmente algunos recursos y encabezados a la nueva carpeta del proyecto desde la carpeta del proyecto anterior. Haga esto hasta que se compile sin errores. Ahora este nuevo proyecto guardó el archivo ".exe" en la carpeta anterior. *
Entonces ->
Vaya al Explorador de Windows y copie manualmente el archivo de solución de la carpeta del proyecto anterior a la nueva carpeta del proyecto.
Cierre la solución y ábrala desde el nuevo proyecto.
Cambió la configuración de nuevo a (x64) si es necesario.
Elimine la carpeta del proyecto con el nombre anterior de la carpeta de la solución.