Как я могу выполнить поиск и замену ссылок? - PullRequest
1 голос
/ 06 августа 2009

Наше решение имеет несколько (более 10) C # проектов. У каждого есть ссылка на библиотеку расширений CAB, причем ссылка указывает на библиотеки DLL в папках выпуска библиотеки. Каждый проект имеет от четырех до семи таких ссылок.

Мы хотели бы внести некоторые изменения в библиотеку; но для отладки изменений нам нужно будет создать отладочную версию библиотеки и обратиться к ней. Я хотел бы добавить проекты библиотеки в наше решение и изменить каждую из ссылок DLL на ссылку проекта.

Можно ли выполнить поиск и замену существующих ссылок, или мне придется делать это вручную?

Ответы [ 4 ]

2 голосов
/ 06 августа 2009

В VS IDE такой функции нет.

Однако, так как файл .csproj является просто документом XML, такой глобальный поиск можно выполнить и заменить в виде сценария, например изменив один файл для наблюдения до и после состояний, затем запустите sed поверх остальных.

Для одноразового использования создание сценария для загрузки XML и выполнение подстановок с помощью манипуляций с DOM, вероятно, излишне.

1 голос
/ 06 августа 2009

Посмотрите на ответ Джареда на эту ТАКУЮ ветку . Этот подход, скорее всего, сработает для вас.

0 голосов
/ 06 августа 2009

Почему бы вам просто не заменить библиотеки DLL в папке выпуска библиотеки временной версией отладки? Я предполагаю, что у вас есть локальная среда разработки.

EDIT: Вы могли бы: 1. все время разрабатывать с отладочной версией библиотеки 2. сделать обновления ссылок в * .csproj более гибкими 3. сделать файловую систему файлов библиотеки более гибкой

По пункту 3: если путь к dll вашей библиотеки содержит «release» и если структура папок библиотеки отладки и выпуска совпадает, то изменение из release можно сделать, просто переименовав папку «release» в «release.original» и "отладка" до "выпуска".

Я бы, наверное, выбрал вариант 1 и все время разрабатывал с отладочными сборками. Выпуск сборки будет использоваться только для окончательного тестирования и развертывания для клиента. Отладка и выпуск dll не так уж и отличаются.

0 голосов
/ 06 августа 2009

Если вы загрузите CI Factory, то случится так, что там будет функция nant под названием FixUpThirdPartyRefs, которую вы можете использовать или настроить, чтобы помочь вам сделать это. Таким образом, вы можете просто настроить Nant и использовать эту функцию.

Это часть электроинструмента с фабрикой CI: http://www.cifactory.org/joomla/index.php?option=com_content&task=view&id=29&Itemid=41

...