Сначала немного фона.
В настоящее время пространства имен и сборки в нашей кодовой базе (~ 60 сборок, тысячи классов) выглядят как
WidgetCompany.Department.Something
Теперь мы выделены таким образом, что продаем программное обеспечение, которое управляет WidgetCompany, поэтому мы хотели бы переименовать пространства имен и сборки
NewCompany.Something
В обычных условиях я бы, вероятно, просто придерживался старого пространства имен, но проблема в том, что наши клиенты не хотят видеть имя одного из своих конкурентов где-либо в приложении. Если они не увидят трассировку стека, свойства сборки и т. Д., Они не должны отображаться. Оно не предназначено для того, чтобы скрывать наших сотрудников или делать что-то зловещее, нам просто нужно убедиться, что люди знают, что мы отдельная сущность, отдельное руководство, и им не нужно беспокоиться о том, что данные передаются и т. Д.
Теперь вопрос. Каков наилучший способ выполнить этот тип всеохватывающего переименования?
Необходимо изменить следующее:
- Пространство имен для (почти) каждого класса в
приложение
- Каждое
using
утверждение в приложении, которое ссылается на старые имена
- Структура папок для каждого проекта
- Ссылки между проектами, которые зависят от измененной структуры папок
- .Sln файлы, которые ссылаются на измененную структуру папок
- Любые ссылки на
те классы, которые полностью
квалифицированный (должно быть мало и далеко
между)
- Любые ссылки на эти
классы в конфигурационных файлах xml (config
разделы и т. д.)
- AssemblyInfo.cs файлы для каждой сборки
- AssemblyName в каждом файле .csproj
Я застрял в стратегии «найди, замени, помолись», или есть что-то лучше?