Как я могу клонировать решение .NET?

Запуск новых проектов .NET всегда требует небольшой работы. Вам необходимо создать решение, добавить проекты для разных уровней (домен, DAL, Интернет, тест), настроить ссылки, структуру решения, скопировать файлы javascript, шаблоны css, главные страницы и т. д. И т. Д.

Я бы хотел простой способ клонирования любого данного решения.

Если вы используете копирование / вставку, проблема в том, что вам нужно затем переименовать пространства имен, имена сборок, имена решений, идентификаторы GUID и т. д.

Есть ли способ это автоматизировать?

Что-то вроде этого было бы здорово:

solutionclone.exe --solution=c:\code\abc\template.sln --to=c:\code\xyz --newname=MySolution 

Я знаю, что в Visual Studio есть шаблоны проектов, но я не видел шаблонов решений.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
12
0
7 411
7

Ответы 7

Как вы уже выяснили: скопируйте файл .sln и убедитесь, что пути / направляющие совпадают.

Поскольку .sln - это text/plain, просто используйте свой любимый язык сценариев для создания сценария клонатора.

Может быть, сейчас хорошее время для изучения Python / Ruby / Perl / Хост сценариев Windows

Определение файла MSDN Solution (.sln)

На окнах? Powershell - серьезные возможности еще до того, как вы начнете использовать сборки .NET для игры

Murph 03.10.2008 23:01

Я считаю, что Набор средств автоматизации наведения позволяет вам это сделать, но, возможно, это не самый простой способ.

У меня такая же проблема, как и у вас, и я намерен подробно рассмотреть ее "уже в ближайшее время".

Посмотрите на Дерево хирург на CodePlex, он создает для вас дерево разработки.

Возможно, вам стоит проверить проект с открытым исходным кодом Разогревать. Краткое описание ищите на http://devlicious.com/blogs/rob_reynolds/archive/2010/02/01/warmup-getting-started.aspx.

IMHO, преимущество подхода Разогревать в том, что он может клонировать все дерево с решением непосредственно из SVN или GIT.

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

Я создал для этого небольшое приложение. Он работает так же, как ранее упомянутое приложение Solutionclone, за исключением того, что это приложение командной строки, а также приложение WPF.

Cloney копирует исходную папку в целевую без какой-либо интеграции с Git или Svn. Он также заменит старое пространство имен везде (в именах файлов, а также внутри файлов) новым пространством имен (имя целевой папки) и исключит определенные файлы (например, * .suo, * .user, * .vssscc) и папки. (например, .git, .svn).

Вы можете получить исходный код или загрузить исполняемый файл на https://github.com/danielsaidi/cloney.

Cloney также можно добавить в контекстное меню Windows Explorer, что позволяет клонировать решения .NET, просто щелкнув правой кнопкой мыши файл .sln.

Рад это слышать! :)

Daniel Saidi 06.11.2015 12:36

Старый пост, я знаю, но недавно у меня возникла необходимость в этом, и, хотя для этого есть несколько самодельных инструментов, я хотел что-то более легкое, что я мог бы бросать, где бы я ни чувствовал. Поскольку мне нравится python для написания сценариев интерпретируемого языка, я написал инструмент для работы с одним файлом на python, чтобы выполнить эту работу. Единственная зависимость - это python3 и chardet2.

https://gist.github.com/4159114

Вы можете использовать шаблон для нескольких проектов, чтобы получить такое решение, как поведение. Структура папок будет немного отличаться, если все проекты будут размещены на уровне ниже файла .sln.

Вы также можете реализовать собственный мастер IWizard, чтобы иметь полный контроль.

Другие вопросы по теме