Я занимаюсь настройкой целой серии пакетов NuGet для нашей платформы. Помимо простых бинарных пакетов (.dll для модулей фреймворка) существуют также пакеты, которые доставляют исходный код в проекты, которые их используют, сделанные с помощью каталога \content в пакете NuGet.
Для разработки этого исходного кода у меня есть тестовый проект/песочница. Я разрабатываю/отлаживаю/исправляю код в этом проекте, и если он окончательный для следующего выпуска, я копирую его в папку содержимого пакета, где я заменяю такие вещи, как $rootnamespace$ и т. д. Это необходимо делать для каждой версии. пакета.
Другой способ — сохранить только окончательный исходный код с тегами $rootnamespace$ и поддерживать его напрямую. Но тогда тестирование/отладка будет выполняться путем повторного добавления пакета в тестовый проект и отладки его там, перехода к содержимому пакета, его изменения, повторной сборки и повторного добавления и повторного тестирования.
Итак, я вижу два способа поддерживать исходный код контента (ни один из них не является действительно хорошим):
Держите исходный код в \content как можно меньше и как можно больше развертывайте в виде двоичных файлов.
Сгенерируйте \content, используя какой-нибудь движок преобразования (например, T4) из песочницы/dev-проекта. Какой двигатель для этого лучше использовать?
Вкратце: я еще не нашел хорошего рабочего процесса для поддержки исходного кода «контента» пакетов NuGet. Как вы это делаете? Любые идеи для этого рабочего процесса?