Как изменить пространство имен всего проекта?

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

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

MySolution\MyApp\DemoApp\ViewModel\MainWindowViewModel.cs

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

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

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

MySolution\MyApp\ViewModel\MainWindowViewModel.cs

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

namespace MyApp.ViewModel
{
....

как это сделать в visual studio 2010?

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

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

enter image description here

Ответ 4

Ctrl + Shift + H не настоящее решение.

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

  • В основной форме найдите имя пространства имен → щелкните правой кнопкой мыши → Refactor → Переименуйте и выберите новое имя. Отметьте все поля и нажмите "ОК".

  • В решении explorer переименуйте имя решения на новое имя.

  • В проксидре решения переименуйте имя проекта в новое имя.

  • Закройте VS и переименуйте папку (например, в общем командовании) в папке решения с новым именем.

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

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

  • Запустите проект VS и загрузки

  • Project → properties → изменить имя сборки и пространство имен по умолчанию на новое имя.

Ответ 9

Более простой способ

Visual Studio

  1. Переименуйте название проекта с помощью "Нажатия клавиши F2" или "Правой кнопки мыши> Переименовать"
  2. Щелкните правой кнопкой мыши по проекту и перейдите к его свойствам. Переименуйте "Имя сборки" и "Пространство имен по умолчанию"

Вышеуказанные два шага восстановят файл .csproj.

Visual Studio Code

  1. Переименуйте пространства имен и его ссылки, используя Найти и заменить во всех файлах. Здесь можно найти и заменить два термина.

    "namespace oldProjectName" to "namespace newProjectName"
    "using oldProjectName"  to "using newProjectName"
    
  2. Переименуйте папки проекта по одной

  3. Измените ссылки в файлах .csproj по мере изменения папки проектов

Ответ 10

Когда я захотел изменить пространство имен и название решения, я сделал следующее:
1) изменил пространство имен, выбрав его и переименовав, и я сделал то же самое с именем решения
2) нажал на лампочку и переименовал все экземпляры старого пространства имен
3) удалил все проекты из решения
4) закрыли визуальную студию
5) переименовал все проекты в проводнике windows
6) открыл визуальную студию и снова добавил все проекты
7) переименовывать пространства имен во всех проектах в их свойствах
8) удалена папка bin (из всех проектов)
9) построить проект заново

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