Как изменить пространство имен всего проекта?
Я модифицирую демо-приложение из этой статьи: 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 → изменить имя сборки и пространство имен по умолчанию на новое имя.
Ответ 8
Вы можете использовать CTRL + R, CTRL + R или для сложных изменений пространства имен используйте этот инструмент https://marketplace.visualstudio.com/items?itemName=vs-publisher-599079.FixNamespace
Ответ 9
Более простой способ
Visual Studio
- Переименуйте название проекта с помощью "Нажатия клавиши F2" или "Правой кнопки мыши> Переименовать"
- Щелкните правой кнопкой мыши по проекту и перейдите к его свойствам. Переименуйте "Имя сборки" и "Пространство имен по умолчанию"
Вышеуказанные два шага восстановят файл .csproj.
Visual Studio Code
-
Переименуйте пространства имен и его ссылки, используя Найти и заменить во всех файлах. Здесь можно найти и заменить два термина.
"namespace oldProjectName" to "namespace newProjectName"
"using oldProjectName" to "using newProjectName"
-
Переименуйте папки проекта по одной
- Измените ссылки в файлах .csproj по мере изменения папки проектов
Ответ 10
Когда я захотел изменить пространство имен и название решения, я сделал следующее:
1) изменил пространство имен, выбрав его и переименовав, и я сделал то же самое с именем решения
2) нажал на лампочку и переименовал все экземпляры старого пространства имен
3) удалил все проекты из решения
4) закрыли визуальную студию
5) переименовал все проекты в проводнике windows
6) открыл визуальную студию и снова добавил все проекты
7) переименовывать пространства имен во всех проектах в их свойствах
8) удалена папка bin (из всех проектов)
9) построить проект заново
Это сработало для меня без каких-либо проблем, и мой проект также имел контроль над исходным кодом. Все было хорошо после отправки этих изменений на пульт.