Как я могу переименовать папку проекта из Visual Studio?

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

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

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

17.10.2008 06:47:46
Нет простого способа сделать это одним щелчком мыши. Во всяком случае, не из Visual Studio.
Matt Hanson 17.10.2008 06:55:28
Кто-нибудь знает, будет ли Microsoft исправлять это в версии 2010 года?
Vidar 28.07.2009 09:56:38
По-видимому, нет, поскольку прошло 3 года, и мне просто пришлось пройти через процесс Андерсанмыра. :)
sichinumi 17.05.2012 14:36:17
Запрос функции Visual Studio: visualstudio.uservoice.com/forums/121579-visual-studio/… иди и голосуй!
Tim Abell 23.05.2014 22:25:38
Видимо, голосование провалилось, потому что функция все еще не поддерживается в 2018 году. Сколько гигабайт нужно, чтобы не изменить файл? 17gbs по-видимому. 17.
Joseph Franciscus 18.01.2018 23:20:35
30 ОТВЕТОВ

В данный момент нет. Ну, на самом деле вы можете щелкнуть по сломанному узлу проекта и в панели свойств найти свойство «Путь», щелкнуть на небольшом значке обзора и выбрать новый путь.

Вуаля :)

33
18.12.2019 16:15:31
При использовании VS2015 имя свойства «Unloaded Project Properties» - «Путь к файлу», а значение нельзя редактировать и просматривать.
William 6.09.2016 14:19:13

Есть другой способ сделать это, используя файлы * .sol, * csproj.

  1. Откройте файл вашего решения.
  2. Найдите * .csproj, который вы хотите изменить.
  3. Это будет так (относительно файла * .sol):

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"

  4. И просто измените первую часть на новую директорию, например:

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. Конечно, не забудьте переместить весь проект в этот каталог.

94
18.12.2019 16:17:17
Это сработало для меня, а не принятого ответа, который не сработал, потому что свойство FilePath было только для чтения для меня.
T.J.Kjaer 7.02.2013 13:12:32
спасибо, это очень помогло. Также обязательно измените значения RootNamespace и AssemblyName.
DevDave 29.05.2013 09:46:15
@TJKjaer То же самое.
dzenesiz 15.07.2019 07:49:10
РЕШЕНИЕ

Пользователи TFS: если вы используете систему контроля версий, которая требует, чтобы вы предупреждали ее перед переименованием файлов / папок, вместо этого посмотрите на этот ответ, который охватывает дополнительные необходимые шаги.


Чтобы переименовать папку проекта , файл ( .*proj) и отображаемое имя в Visual Studio:

  • Закройте решение.
  • Переименуйте папку (и) вне Visual Studio. (Переименовать в TFS при использовании контроля версий)
  • Откройте решение, игнорируя предупреждения (ответьте «нет», если вас попросят загрузить проект из системы контроля версий).
  • Пройдите через все недоступные проекты и ...
    • Откройте окно свойств для проекта (выделите проект и нажмите Alt+ Enterили F4, или щелкните правой кнопкой мыши> свойства).
    • Установите для свойства « Путь к файлу » новое местоположение.
      • Если свойство недоступно для редактирования (как в Visual Studio 2012), откройте .slnфайл непосредственно в другом редакторе, например Notepad ++, и обновите пути к нему. (Возможно, вам придется сначала проверить решение в TFS и т. Д.)
    • Перезагрузите проект - щелкните правой кнопкой мыши> перезагрузить проект.
    • Измените отображаемое имя проекта, выделив его и нажав F2или щелкнув правой кнопкой мыши> переименовать .

Примечание. Другие предлагаемые решения, включающие удаление и повторное добавление проекта в решение, будут нарушать ссылки на проекты.

Если вы выполните эти шаги, вы можете также переименовать следующее, чтобы соответствовать:

  1. сборочный
  2. Default / Root Namespace
  3. Пространство имен существующих файлов (используйте инструменты рефакторинга в Visual Studio или инструмент противоречивых пространств имен ReSharper )

Также рассмотрите возможность изменения значений следующих атрибутов сборки :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
741
18.12.2019 16:21:16
Для тех, кто использует управление исходным кодом, я думаю, вам также нужно переименовать папку в управлении исходным кодом. Для меня вышеуказанные шаги не сделали этого.
Patrick Szalapski 9.11.2010 14:33:31
При использовании TFS, шаг 2 - это переименование папки в системе управления версиями, а затем получение последней версии перед повторным открытием sln.
Amy Patterson 6.10.2011 16:10:57
Свойство File Path становится редактируемым в VS2010 после того, как папка была переименована (и VS не может найти проект)
Jimmy 23.09.2012 15:00:08
Это не сработало для меня в VS 2012; собственность только для чтения. Мне пришлось открыть файл .sln как текст.
Grault 23.03.2013 22:51:34
Хлоп! Вся эта беда в переименовании папки! Это было проще в MS-DOS!
Kokodoko 9.04.2015 22:45:14

Примечание : это исправление для Visual Studio 2008, но оно должно работать здесь.

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

Выполнено.

1
18.12.2019 19:57:08

В ответе andersjanmyr проще сначала переименовать проект.

  1. Переименуйте проект.
  2. Закройте решение (сохраните его).
  3. Переименуйте папки вне Visual Studio.
  4. Откройте решение, игнорируя предупреждения.
  5. Просмотрите все недоступные проекты и установите для свойства 'File Path' новое местоположение файла вашего проекта, т.е. someproject.csproj .
  6. Перезагрузите проект.

Кроме того, после выполнения этих шагов вы можете переименовать другие ссылки на старое имя проекта.

В свойствах проекта обновите Имя сборки и Пространство имен по умолчанию.

Это обновит следующее в файле проекта ...

<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>

... и избавится от ошибки "Пространство имен не соответствует расположению файла, должно быть: 'SomeProjectName'"

Переименуйте ваше корневое пространство имен (если у вас есть ReSharper, щелкните правой кнопкой мыши пространство имен и выберите Refactor -> Rename).

Измените все вхождения вашего старого имени проекта в AssemblyInfo.cs .

10
18.12.2019 20:04:46
Основываясь на этом ответе, вы можете вручную отредактировать файл решения, чтобы путь к проекту был вашим новым путем, и избегать предупреждений при открытии решения. Возможно, вы можете нажать Project> Properties> AssemblyInfo, чтобы отредактировать информацию о сборке из VS и избежать редактирования файла AssemblyInfo.cs.
H2ONaCl 21.10.2014 17:53:03

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


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

Это сработало для меня.

4
24.01.2020 12:15:52

Я просто должен был сделать это сам (с помощью Visual Studio 2010). Как ответили некоторые люди, самый простой шаг выглядит следующим образом:

  1. Закройте проект Visual Studio.
  2. Откройте файл .sln и переименуйте префикс каталога проекта для каждого вхождения .csproj.
  3. Сохраните файл .sln
  4. Переименуйте фактический каталог папки проекта на вашем жестком диске, чтобы соответствовать вашим изменениям в файле .sln.
  5. Откройте .sln (в Visual Studio) и пересоберите
6
24.01.2020 16:03:31

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

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

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

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

2
24.01.2020 16:06:34

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

1
24.01.2020 16:07:09

После изменения имени папки откройте файл .sln в Блокноте и измените путь на новый.

0
24.01.2020 16:19:43

Человек, я боролся с этим. К сожалению, в Visual Studio нет решения одним щелчком мыши, но если вы работаете с Visual Studio 2012 и ваш проект находится под управлением исходного кода с помощью Team Foundation Server , вот как я запустил его, сохранив историю исходного кода:

(Обязательно прочитайте комментарий @ mjv ниже, так как он отмечает, что вы можете пропустить шаги 5-10)

  1. Убедитесь, что вы отметили все изменения, поэтому у вас нет ожидающих изменений.
  2. Удалите проект из решения, щелкнув правой кнопкой мыши и выбрав Удалить .
  3. Теперь в проводнике Windows переименуйте папку проекта.
  4. Вернитесь в Visual Studio и в Solution Explorer щелкните правой кнопкой мыши решение и выберите Add -> Existing project . Выберите файл проекта для проекта, который вы удалили на шаге 2, который должен находиться в переименованной папке.
  5. Теперь проект вернулся в решение, но проект, похоже, не добавлен в систему контроля версий. Чтобы это исправить, откройте Source Control Explorer.
  6. Найдите папку проекта в Source Control Explorer, которая соответствует папке проекта на вашем диске, которую вы переименовали в шаге 3.
  7. Переименуйте папку в Source Control Explorer, чтобы она имела то же имя, что и папка проекта на диске.
  8. Теперь взгляните на ожидающие изменения. У вас должны быть изменения в файле решения и операция переименования в папке проекта.
  9. Сделайте перестройку и убедитесь, что все компилируется правильно. Если у вас были межпроектные ссылки на проект, который вы переименовали, вам нужно снова добавить их в отдельные проекты, которые ссылались на него.
  10. Вы должны быть все готово сейчас. Иди и проверить все в.

Вышеуказанное руководство сработало для меня. Если он не работает для вас, попробуйте полностью удалить локальное решение и удалите сопоставление папок в рабочей области. Перезапустите Visual Studio на всякий случай. Убедитесь, что вы действительно удалили все решение со своего компьютера. Теперь прочитайте отображение решения в вашем рабочем пространстве и получите последнюю версию. Теперь попробуйте вышеуказанные шаги. То же самое применимо, если что-то пойдет не так во время выполнения вышеуказанных шагов Просто удалите свое решение локально и получите последнюю версию, и у вас будет чистый лист для работы.

Если у вас все еще есть проблемы, убедитесь, что вы ничего не изменили вручную в файле решения, или попробуйте другие «хитрости», прежде чем пытаться выполнить описанные выше шаги. Если вы что-то изменили и отметили это, вы можете рассмотреть возможность отката до того момента, когда вы начали возиться с переименованием проекта.

Конечно, вы также хотите переименовать сам проект в Solution Explorer. Вы можете сделать это до выполнения описанных выше шагов, но в этом случае убедитесь, что вы отметили это изменение, прежде чем применять вышеуказанные действия. Вы также можете сделать это позже, но сначала убедитесь, что вы выполнили все шаги, описанные выше, и проверьте изменения, прежде чем пытаться переименовать имя проекта в обозревателе решений. Я не рекомендую пытаться смешивать вышеуказанные шаги с переименованием имени проекта в обозревателе решений. Хотя это может сработать, но я бы порекомендовал сделать это в 2 отдельных наборах изменений.

53
2.07.2019 20:13:04
Спасибо за введение процедуры, которая работает в VS2012! Обратите внимание, что вы можете избежать шагов 5-10 (то есть необходимости возвращать переименованные папки в Source Control), если вместо этого вы закроете решение и затем переименуете папки внутри, VS' Source Control Explorerа не Windows Explorer.
mjv 30.07.2013 18:39:15
Эти шаги были близки , но изменение расположения папки с Windows (WE) до переименования в Source Control Explorer (SCE) вызвали ошибку: Folder already exists. Поэтому мне пришлось снова переименовать папку, WEзатем изменить ее SCE, затем скопировать файлы в эту папку, прежде чем она заработала. Так что следуйте комментарию от MJV выше. Я также не думал о необходимости изменять имена файлов реальных проектов (не только в VS), что я сделал в качестве запоздалой мысли, заставив меня повторить некоторые из этих шагов.
CaptainBli 28.04.2014 16:08:18
Этот подход с комментариями mjv работает в Perforce с правой кнопкой мыши, опцией Rename / Move.
santos 13.05.2014 10:07:54
Вы можете избежать взлома ссылок на проекты, см. Stackoverflow.com/a/10853509/10245
Tim Abell 23.05.2014 21:51:41
@TimAbell Вы пробовали эту процедуру в VS2012 и она работала для вас? Прежде чем написать свой ответ, я попробовал это, но у меня это не сработало, потому что путь к проекту в окне «Свойства» всегда был доступен только для чтения. И это не помогло редактировать файл SLN.
René 24.05.2014 09:46:22

Подобные проблемы возникают, когда необходимо создать новый проект, и вы хотите, чтобы имя папки проекта отличалось от имени проекта.

Когда вы создаете новый проект, он сохраняется в

./path/to/pro/ject/YourProject/YourProject.**proj

Давайте предположим, что вы хотели иметь его прямо в jectпапке:

./path/to/pro/ject/YourProject.**proj

Мой обходной путь для достижения этой цели - создать проект с последней частью пути в качестве имени, чтобы он не создавал дополнительный каталог:

./path/to/pro/ject/ject.**proj

Теперь, когда вы переименовываете проект из Visual Studio, вы достигаете цели, не выходя из Visual Studio:

./path/to/pro/ject/YourProject.**proj

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

0
24.01.2020 16:21:35

Я использую Visual Studio 2013 и TFS 2013.

Я сделал это так:

  1. Откройте Visual Studio, не открывая само решение, и используйте Source Control Explorer для поиска и переименования папок для проектов.
  2. Дважды щелкните файл решения в Source Control Explorer, чтобы открыть решение.
  3. У вас возникает вопрос: "Недавно в это решение были добавлены проекты. Хотите получить их из системы контроля версий?" , и вы выбираете Yes.
  4. Теперь есть папка и структура проекта, но теперь файлы, так что теперь вы получаете последнюю версию из системы контроля версий.
  5. Попробуйте создать и зафиксировать изменения.
0
24.01.2020 16:26:28
так что нет окна проводника вещей. В конце концов, вы можете удалить все локальные файлы и получить весь (чистый) проект из системы контроля версий.
Muris 25.04.2014 15:50:34
Я только что узнал, что из-за перестановки папок также возможно, что файл решения создает пустую папку, в которой был сохранен какой-то проект. Затем откройте файл решения в блокноте и уменьшите число свойств SccNumberOfProjects на количество созданных пустых каталогов и удалите соответствующие SccProjectUniqueName #, SccProjectName #, SccLocalPath # и другие свойства с таким же #.
Muris 29.04.2014 09:21:59

Существует более простой подход, который был протестирован в Visual Studio 2013 Update 1 и применим для проектов, связанных с TFS:

  • Откройте Visual Studio, но пусть решение будет закрыто.
  • Откройте Source Explorer и переименуйте нужную папку (решение будет закрыто для вас, если вы еще не закрыли его в первую очередь).
  • Щелкните правой кнопкой мыши по решению (также из Source Explorer ) и выберите регистрацию.
  • Откройте решение. Вам скажут, что добавлены новые проекты. Принять, чтобы получить изменения.
  • Удалите проект из решения и добавьте его снова, а затем зарегистрируйтесь.
  • Проверьте, что внутренние ссылки в порядке.
0
24.01.2020 16:28:55

Недавно мы загрузили бета-версию бесплатного расширения Visual Studio, которое делает это за вас.

Взгляните на Visual Studio Gallery: Галерея Загрузить

1
24.01.2020 16:30:44

Ну, я сделал это по-своему

  • Закрыть Visual Studio 2012
  • Переименуйте ваш подкаталог в нужное имя в .sln
  • Удалить файл * .suo
  • Снова откройте решение и исправьте все свойства загруженных проектов, чтобы они соответствовали новому имени подкаталога.
1
24.01.2020 16:33:22

Проверенное решение для расширения Visual Studio для инструментов данных для бизнес-аналитики (SSDT-BI 2013):

  1. Переместите папку Project в новое место (пока ничего не переименовывайте)
  2. В обозревателе решений переименуйте проект / решение.
  3. Закройте (и сохраните) недавно переименованный проект.
  4. Переименуйте папку проекта и файл .sln.
  5. Используйте текстовый редактор и откройте недавно переименованный файл решения проекта (.sln) (я использовал Notepad ++ )
  6. В строке № 6 вы увидите: "Project {fdjfksdjk4387! ...} =" OLDPROJECT "," OLDFOLDER \ OLDPROJECT.rptproj ". Переименуйте все, используя новые имена, использованные в шаге 4. (т.е. ... =" NEWPROJECT " "," NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. Это оно!

Это было проверено на 100% и работало безупречно в моем случае.

ПРИМЕЧАНИЕ. Я не могу подтвердить, работает ли он под другими шаблонами проектов и в других версиях Visual Studio. Как всегда, сделайте резервную копию всего заранее.

4
22.04.2020 19:19:34

Самый простой способ - перейти к свойству окна, изменить имя пространства имен по умолчанию, а затем переименовать.

0
24.01.2020 16:41:17
О каком окне вы говорите? Вы имеете в виду окно свойств проекта?
Peter Mortensen 24.01.2020 16:42:21
  1. Переименуйте проект вне Visual Studio.
  2. Отредактируйте your_project_name.sln с помощью текстового редактора и переименуйте путь в новый путь.
0
24.01.2020 16:45:28
Это похоже на текущее решение и немного сложнее.
bowlturner 20.08.2015 15:57:31

Это просто в Visual Studio 2015 (возможно, работает в более старых версиях)

  1. В обозревателе решений щелкните правой кнопкой мыши Основное решениеПереименовать.
  2. В обозревателе решений щелкните правой кнопкой мыши проект (под решением) → Переименовать
  3. В обозревателе решений дважды щелкните или щелкните правой кнопкой мыши Свойства → Перейти на вкладку приложения , переименуйте имя сборки и пространство имен по умолчанию для соответствия.
  4. Если вы также хотите переименовать пространство имен, откройте один из ваших файлов классов. Щелкните правой кнопкой мыши пространство имен → Переименовать ... . Это должно найти и заменить все ссылки на ваше пространство имен по всему проекту.
  5. Закройте проект → переименуйте папку проекта .
  6. Отредактируйте .slnфайл в Блокноте и измените путь к cjproj, т. Е. fu\bar.csprojbar\bar.csproj.
92
24.01.2020 16:53:10
Вы забыли обновить ссылки на проекты в зависимых проектах (если есть).
Steven Liekens 6.11.2015 13:11:36
@JohnPeters Насколько я вижу, этот ответ не редактировался. Шаг 5 описывает переименование папки, поэтому выполнение этих шагов действительно также меняет имя физической папки.
Philip Stratford 13.06.2018 14:17:36
Не забудьте применить шаг 4 к папке подпроекта (для меня это был единственный шаг, так что шаг 6 работал).
Felipe Gutierrez 11.09.2019 19:59:28

Более простое решение заключается в следующем:

  1. Щелкните правой кнопкой мыши проект и переименуйте его.
  2. (необязательно) Откройте настройки свойств проекта и измените имя сборки (и, возможно, пространство имен по умолчанию), чтобы использовать новое имя проекта.
  3. (необязательно) Выберите имя пространства имен в исходном файле, щелкните правой кнопкой мыши и выберите Refactor / Rename, чтобы глобально переименовать пространство имен в новое имя проекта.
  4. (необязательно) Откройте файл AssemblyInfo.cs и измените имя сборки для соответствия.
  5. Сохраните и закройте решение.
  6. Используя Windows Explorer, переименуйте папку проекта в новое имя.
  7. Откройте файл SLN в текстовом редакторе, найдите одну ссылку на путь проекта и измените его, чтобы использовать новое имя папки.

Есть четыре необходимых шага, но семь рекомендуется. В конце концов, проект полностью переименован. Технически, имя папки для проекта не должно совпадать с самим проектом, поэтому даже этот шаг не является обязательным, но он может сбить с толку, если они не совпадают. То же самое для имен сборки и пространства имен.

30
24.01.2020 16:58:21
Альтернативный шаг 7. Откройте файл SLN с помощью VS, игнорируйте предупреждения (нажмите «ОК»), выберите проект (ы) в обозревателе решений, нажмите F4, обновите путь к файлу. Необязательный шаг 0: щелкните правой кнопкой мыши решение и переименуйте его.
Martin Schneider 15.06.2016 12:20:23
Невероятно, как трудно Microsoft делает некоторые вещи
Alex 10.02.2017 15:38:38
Это сработало для меня в Visual Studio Community 2017. Принятый ответ не сработал (для меня); свойство, которое нужно было изменить, доступно только для чтения и не может быть изменено в диалоге свойств.
codingatty 18.01.2018 04:28:48

Я сделал следующее:

<Создать резервную копию всей папки>

  1. Переименуйте проект из Visual Studio 2013 (необязательно / не требуется).

  2. Экспортируйте проект как шаблон.

  3. Закройте решение.

  4. Повторно открыть решение

  5. Создайте проект из сохраненного шаблона и используйте имя, которое вам нравится.

  6. Удалите из обозревателя решений предыдущий проект.

В этот момент я попытался скомпилировать новое решение, и для этого мне пришлось вручную скопировать некоторые ресурсы и заголовки в новую папку проекта из старой папки проекта. Делайте это, пока он не скомпилируется без ошибок. Теперь этот новый проект сохранил файл .exe в предыдущую папку. *

Итак ->

  1. Перейдите в Windows Explorer и вручную скопируйте файл решения из старой папки проекта в новую папку проекта.

  2. Закройте решение и откройте решение из нового проекта.

  3. При необходимости изменил конфигурацию обратно на (x64).

  4. Удалите папку проекта со старым именем из папки решения.

0
24.01.2020 17:20:53

Для Visual Studio 2017 вы можете использовать мое расширение Visual Studio:

Скачать

Он переименует проект в:

  • Папка расположения проекта
  • Файл решения
  • Ссылки в других проектах
  • Название сборки, информация
  • Пространство имен по умолчанию
8
24.01.2020 17:23:23
классно! устал от всех ручных переименований, которые мне приходилось делать в прошлом. Работает хорошо. Однако не удалось найти ссылку на строку в другом пакете. Не уверен, что это намеренно.
frostymarvelous 17.07.2017 12:23:24
Спасибо. но я не понял следующее: «ссылка на строку в другом пакете». Вы можете это объяснить?
Kuanysh 18.07.2017 16:44:09
Итак, у меня есть тестовый проект, и у меня так есть [assembly: InternalsVisibleTo("MyTests")]. Когда я переименовал MyTests, он не переименовал эту ссылку. Опять же, я не думаю, что это подпадает под вашу компетенцию, и это легко решить вручную.
frostymarvelous 18.07.2017 16:46:35
Это расширение предполагает, что папка в настоящее время имеет то же имя, что и проект (до переименования). Если они различаются, переименование завершается неудачно :( Я также не получил «Переименовать пространства имен». К счастью, я использовал его только на довольно небольших решениях. В противном случае, отлично!
savehansson 19.01.2018 11:12:07
@MassimilianoKraus Я делаю расширение частным из-за последних негативных отзывов без объяснения на рынке. простите за это. Я обновил ссылку
Kuanysh 21.05.2018 09:07:23

У меня часто возникала одна и та же проблема переименования проекта в Visual Studio и редактирования имени папки, имени проекта и файла .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
24.01.2020 17:27:02

Щелкните правой кнопкой мыши проект → Свойства и установите (имя) на нужное имя.

-2
24.01.2020 17:28:01
  1. Переименуйте проект в решении и папке проекта

  2. Удалить проект из решения

  3. Добавить существующий проект в решение (ваш переименованный проект)

Меня устраивает. TFS также будет отслеживать новый проект.

1
24.01.2020 17:29:10

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

  • Близкое решение в Visual Studio
  • Переименуйте каталоги проектов в решении.
    • (нажмите изменения в управлении исходным кодом - Git в моем случае)
  • Отредактируйте файл .sln в текстовом редакторе (за пределами Visual Studio 2017), изменив имя каталога.
  • Повторно открыть решение в Visual Studio

Там сказано что-то вроде « повторного добавления проекта ». Я восстановил все, и все было хорошо, чтобы пойти.

4
24.01.2020 17:32:08
Кроме того, вам может потребоваться удалить старый проект из зависимостей других проектов и повторно добавить вновь переименованный проект в качестве новой зависимости (щелкните правой кнопкой мыши старый проект >> Удалить, затем щелкните правой кнопкой мыши Dependencies>> Add reference>> >> Выберите новый проект )
maxshuty 4.02.2020 15:10:47

Для тех, кто использует 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.

5
24.01.2020 17:37:12

Или просто скопируйте все коды, откройте новый проект с нужным именем и вставьте код. Запустите debug, а затем удалите предыдущий проект. Выполнено!

Это сработало для меня!

0
24.01.2020 17:37:52

Откройте .sln в текстовом редакторе и в следующей строке замените <FolderName> на имя вашей новой папки Project ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-А103-C19AF869D965}»

1
24.01.2020 17:38:37
Пожалуйста, объясните, почему / как это работает.
Simon.S.A. 27.01.2019 00:16:20