Это может быть намного сложнее, чем вы можете себе представить. Во многом это зависит от того, в какой компании вы работаете, какую работу они выполняют, и от масштабов ваших амбиций.
Во-первых, вы, вероятно, не хотите создавать «каркас». У вас уже есть .NET Framework. Возможно, вы хотите договориться об общем наборе пользовательских элементов управления. Есть из чего выбирать. Я настоятельно рекомендую вам не писать собственный набор пользовательских элементов управления, которые будут использоваться во многих проектах. Разработка согласованной и согласованной пользовательской библиотеки управления - это огромная работа сама по себе, и наполовину меры, которые работают для конкретного проекта, с треском проваливаются, когда вы пытаетесь переместить их в другие проекты.
Я видел, как консалтинговая компания (которая в основном занималась созданием пользовательских бизнес-приложений .NET для клиентов) пыталась повторно использовать код, и в основном это было не красиво. Взять код, который был написан и работает в одном пользовательском приложении, и перенести его в другое пользовательское приложение гораздо сложнее, чем кажется. Слишком часто этот «общий» фрагмент кода делает предположения об общем приложении или зависит от некоторого кода, специфичного для приложения, и удалить эту зависимость очень сложно.
Теперь, если вы находитесь в среде, где все работают над программами, которые обрабатывают одни и те же типы данных, вы, вероятно, можете использовать общий набор модулей доступа к данным и отчетности, а также некоторые распространенные алгоритмы. Будь здесь осторожен. Любой общий код должен иметь как можно меньше зависимостей. В противном случае потенциальные клиенты (т. Е. Другие программисты) предпочтут кататься самостоятельно, а не «включать мир».
Вы говорите, что хотите создать кодовую базу, которая содержит «библиотеки, классы и т. Д., Разработанные сотрудниками внутри компании и используемые в разных приложениях во времени». Для меня это говорит о том, что вы хотите поделиться кодом между разрозненными проектами или, по крайней мере, взять код, написанный для одного проекта, и использовать его в другом. Это похвальная цель, но часто трудная. Как я указывал выше, существует большая разница между написанием кода, который работает для одного проекта, и написанием кода, который может использоваться несколькими проектами с минимумом зависимостей. Возможно, но сложно. И много времени.