#visual-studio-extensions
Вопрос:
Я написал расширение, которое, помимо всего прочего, переименовывает файлы в зависимости от типов, которые они содержат.
Это отлично работает для файлов в дереве каталогов под csproj-файлом-я нахожу запись ProjectItem для файла и меняю его имя.
Для «связанных» файлов (тех, которые не находятся в дереве каталогов) Я могу переименовать файл (через файл.Переместить ()), но не нашли способа программно изменить csproj-файл (после переименования csproj-файл должен быть изменен вручную).
Если это то, что можно сделать, я был бы признателен за указатель на документы, показывающие, как реализовать эту функциональность.
Комментарии:
1. Делает ли Microsoft.Build. Справка по пространству имен BuildEngine?
2. Спасибо за совет. Классы в этом пространстве имен устарели — заменены на Microsoft.Build. Строительство — которое я проверю.
Ответ №1:
Самым простым решением для меня было изменить csproj-файл.
- Откройте, прочитайте весь файл, закройте.
- Убедитесь, что файл, который я хочу переименовать (например, xxx.cs), находится только в 1 каталоге (если он находится в нескольких каталогах, изменение должно быть выполнено вручную).
- Внесите изменения
- Открыть, записать весь файл, закрыть
- Для проекта SDK изменение применяется немедленно.
- Для проекта, не связанного с SDK, изменение применяется после ответа на запрос о том, что файл csproj был изменен.
Комментарии:
1. Спасибо, что поделились решением, и, пожалуйста, не забудьте принять ваш ответ , это хорошая ссылка.