Как переименовать папку проекта из Visual Studio? - PullRequest
611 голосов
/ 17 октября 2008

Мое текущее решение для переименования папки проекта:

  • Удалить проект из решения.
  • Переименуйте папку вне Visual Studio.
  • Повторно добавить проект в решение.

Есть ли лучший способ?

Ответы [ 32 ]

4 голосов
/ 21 октября 2010

См. Пункт 3 в связанной статье.

  1. Закройте решение и IDE.
  2. В проводнике: измените имя каталога на новое имя.
  3. В проводнике: откройте файл .sln в текстовом редакторе.
  4. Измените имя каталога на новое имя и сохраните.
  5. Перезапустите IDE и откройте решение из меню «Файл», «Последние файлы», если оно не запустится автоматически.
  6. Нажмите на папку Project в обозревателе решений и проверьте свойство пути в свойствах внизу. Теперь он будет ссылаться на новую папку проекта.

У меня это сработало.

3 голосов
/ 17 августа 2018

Для тех, кто использует Visual Studio + git и хочет сохранить историю файлов (работает с переименованием как проектов, так и / или решений):

1) Закрыть Visual Studio

2) В файле .gitignore дублируйте все игнорируемые пути проекта, который вы хотите переименовать, с переименованными версиями этих путей.

3) Используйте команду git move так:

git mv <old_folder_name> <new_folder_name>

Дополнительную информацию см. В документации: https://git -scm.com / docs / git-mv

4) В вашем файле .sln: найдите строку, определяющую ваш проект, и измените имя папки в пути. Строка должна выглядеть примерно так:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"

5) Откройте Visual Studio, щелкните правой кнопкой мыши проект -> Переименовать

6) После этого переименуйте пространства имен. Я читал, что у Resharper есть несколько вариантов для этого. Но простой поиск / замена сделал работу за меня.

7) Удалить старые пути .gitignore

2 голосов
/ 27 августа 2017

Хотя на этот вопрос уже был дан ответ, я хотел бы поделиться своим подходом к решению этой проблемы. У меня часто возникала одна и та же проблема переименования проекта в VS и редактирования имени папки, имени проекта и файла .sln для достижения этой цели. Я просто написал VBScript, который выполняет все это. Вы должны быть осторожны со строками, которые вы выбираете для замены.

РЕДАКТИРОВАТЬ: вам просто нужно поместить файл .vbs в тот же каталог, что и файл .sln решения.

'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
2 голосов
/ 29 июня 2018

Что сработало для меня в 2017 году:

  • Закрыть решение VS
  • Переименованный каталог проектов в решении.
    • (принудительное изменение источника управления - git в моем случае)
  • редактировать файл sln в текстовом редакторе (за пределами VS2017), изменяя имя каталога.
  • Вновь открыть решение в VS

Там говорилось что-то вроде " повторное добавление проекта ", я перестроил все и все было хорошо.

2 голосов
/ 21 августа 2011

Я написал небольшой инструмент, который автоматизирует все эти шаги. Также поддерживает Subversion на данный момент.

Информацию о текущих выпусках можно найти здесь Visual Studio Project Renamer Infos

Последние версии теперь можно загрузить со страницы загрузки Visual Studio Project Renamer

Обратная связь очень ценится.

2 голосов
/ 22 октября 2010

@ andersjanmyr Решение: вы можете нажать Alt + Enter, чтобы открыть страницу свойств для недоступного проекта и установить там свойство «Путь к файлу»; поскольку он недоступен в контекстном меню, вызываемом правой кнопкой мыши, недоступного проекта (в VS2008).

1 голос
/ 12 октября 2012

При использовании TFS, шаг 2 - переименовать папку в системе управления версиями, а затем получить последнюю версию перед повторным открытием решения.

1 голос
/ 23 июня 2010

ПРИМЕЧАНИЕ. Это исправление для Visual Studio 2008, но оно должно работать здесь.

  1. С помощью проводника Windows переименуйте обе папки решений (родительскую и дочернюю папки) в новое имя решения.
  2. Удалите файл .sln, расположенный в родительской папке.
  3. В Visual Studio выберите Файл | Открыть проект.
  4. Детализируйте новую папку, которую вы только что переименовали, и откройте файл .csproj (расположенный в дочерней папке).
  5. Щелкните правой кнопкой мыши имя проекта и переименуйте его в соответствии с тем, что вы хотите. (Должно совпадать с именем папки на шаге 1.)
  6. Выберите Файл | Закрыть решение. Диалог спросит, хотите ли вы сохранить изменения в файле .sln. Нажмите Да.
  7. В диалоговом окне «Сохранить файл как» укажите недавно переименованную папку «PARENT» и нажмите «Сохранить». (ПРИМЕЧАНИЕ. Убедитесь, что файл .sln имеет то же имя, что и папка. Не требуется, но поддерживает согласованность.)

DONE.

1 голос
/ 21 февраля 2015

Недавно мы загрузили бета-версию бесплатного расширения VS, которое делает это за вас. Взгляните на галерею VS: Галерея Скачать

1 голос
/ 27 февраля 2019

Мне приходилось делать это много раз. Очень полезно иметь возможность изменять существующий проект, но иметь возможность переименовывать текст в пространствах имен, файлах и папках. Использование рекурсивного поиска и замены, начиная с корневой папки, означает, что переименование не нарушает ссылки на проекты в файлах решений и ссылках на проекты.

С этой целью я создал проект, чтобы сделать именно это. Приложение также пытается игнорировать папки управления версиями, такие как .git, .svn и файл настроек .vs. Больше информации в README.

https://github.com/garethrbrown/vs-project-rename

Example

...