Рефакторинг C # между решениями в VS - PullRequest
0 голосов
/ 23 декабря 2009

У меня есть решение A, которое определяет открытый класс Foo, и решение B, которое ссылается на A и использует Foo. Я переименую Foo в Bar в A и использую функцию «Обновить ссылки», но это только обновляет ссылки в текущем решении. Как мне обновить их в решении B (автоматически)?

(обратите внимание, что поиск и замена не вариант, потому что он не учитывает контекст - могут быть и другие символы, называемые Foo)

Ответы [ 3 ]

1 голос
/ 23 декабря 2009

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

Я думаю, что вам нужно придерживаться того же подхода - в конце концов, как инструмент может догадаться, что у вас есть другие решения, которые ссылаются на тот же проект и требуют рефакторинга?

0 голосов
/ 23 декабря 2009

Я не думаю, что есть какой-то способ сделать это в VS, хотя в дополнении, например, в Resharper, может быть что-то (я никогда этим не пользовался).

Не могли бы вы временно добавить все проекты в одно решение и связать их, используя ссылки на проекты? Это позволило бы переименовать все ссылки на Foo.

0 голосов
/ 23 декабря 2009

Вы можете использовать ReSharper для этой работы.

...