Как изменить пространство имен всего проекта? - PullRequest
89 голосов
/ 29 ноября 2011

Я изменяю демонстрационное приложение из этой статьи: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

Мне нужно обновить все файлы, чтобы использовать мое пространство имен, например, теперь файл, расположенный здесь:

MySolution\MyApp\DemoApp\ViewModel\MainWindowViewModel.cs

isиспользуя такое пространство имен:

namespace DemoApp.ViewModel
{
/// <summary>
/// The ViewModel for the application's main window.
/// </summary>
public class MainWindowViewModel : WorkspaceViewModel

Мне нужно переместить файл сюда (удалить папку DemoApp):

MySolution\MyApp\ViewModel\MainWindowViewModel.cs

, а также использовать правильное пространство имен:

namespace MyApp.ViewModel
{
....

как это сделать в Visual Studio 2010?

Обновление ОК, здесь возможно дублирование Изменение пространства имен проекта в Visual Studio Теперь я знаю, как изменить пространство имен проекта, но как переместить файлы в файловую систему?(избавиться от папки "DemoApp")

Ответы [ 8 ]

136 голосов
/ 29 ноября 2011

Перейдите куда-нибудь, где пространство имен объявлено в одном из ваших файлов. Наведите курсор на ту часть пространства имен, которую вы хотите изменить, и нажмите F2 . Это должно переименовать пространство имен в каждом файле. По крайней мере, это сработало в моем небольшом демонстрационном проекте, который я создал, чтобы проверить этот ответ!

В зависимости от версии VS, ярлык также может быть Ctrl - R , Ctrl - R .

110 голосов
/ 29 ноября 2011

Я полагаю, что простая замена в файлах ( Ctrl + Shift + H ) почти сработает; просто замените namespace DemoApp на namespace MyApp. После этого постройте решение и найдите ошибки компиляции для неизвестных идентификаторов. Все, что полностью квалифицировано DemoApp, должно быть изменено на MyApp.

22 голосов
/ 25 августа 2016

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

enter image description here

2 голосов
/ 07 сентября 2015

Ctrl + Shift + H не реальное решение.

Вы можете использовать Resharper, чтобы изменить все определения пространств имен в своем решении.Это лучший способ, который я пробовал раньше.

https://www.jetbrains.com/resharper/features/code_refactoring.html

1 голос
/ 10 мая 2014

Я просмотрел структуру папок с помощью инструмента BareGrep, чтобы убедиться, что у меня есть все изменения пространства имен.Это бесплатный инструмент, который позволит вам искать файлы в указанной файловой структуре.

0 голосов
/ 05 июля 2018

Вы можете использовать CTRL + R , CTRL + R или для сложных изменений пространства имен используйте этот инструмент https://marketplace.visualstudio.com/items?itemName=vs-publisher-599079.FixNamespace

0 голосов
/ 06 декабря 2016

Я попробовал все, но я нашел решение, которое действительно работает. Он создает независимое решение с новым именем пространства имен и т. Д.

  1. В основной форме найдите имя пространства имен -> щелкните правой кнопкой мыши -> Refactor -> Rename и выберите новое имя. Установите все флажки и нажмите ОК.

  2. В обозревателе решений переименуйте имя решения в новое.

  3. В обозревателе решений переименуйте имя проекта в новое.

  4. Закройте VS и переименуйте папку (например, в Total Commander) в папке решения на новое имя.

  5. В .sln файле переименуйте старое имя в новое.

  6. Удалить старые файлы .suo (скрытые)

  7. Запустить VS и загрузить проект

  8. Проект -> свойства -> изменить имя сборки и пространство имен по умолчанию на новое имя.

0 голосов
/ 15 мая 2013

Я знаю, что уже довольно поздно, но для тех, кто хочет сделать это отныне, я надеюсь, что этот ответ окажется полезным. Если у вас установлена ​​CodeRush Express ( бесплатная версия и «must have»), она предлагает простой способ изменить пространство имен в проекте. Вы просто помещаете курсор в пространство имен, которое хотите изменить, и под строкой namespace будет отображаться smart tag (маленький синий прямоугольник). Вы можете либо щелкнуть по этому полю, либо нажать клавиши Ctrl + , чтобы увидеть параметр Rename. Выберите его, а затем введите новое имя для всего пространства имен проекта, нажмите Apply и выберите места в вашем проекте, которые вы хотите изменить, в новом диалоговом окне и OK. Готово! : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...