Если отвечать серьезно, то лучше всего ответ знает сборку выбирающий. )
Ставя такую задачу перед собой, я бы оценил свои амбиции и планы, и отрезал те варианты, которые с задачи не справятся (если я хочу мультипрофу с миллиардом новых механик и каждую неделю новую вакханалию, я едва ли выберу работу с ПТС. наверное.). Затем я бы отсек, из списка оставшихся, варианты, которые мне не по силам / не по карману. Плохо знакомые / плохо организованные сборки, отсутствие исходников - если у меня в каждом классе возникает вопрос "шо за говно", и я понимаю что сам не потащу, а привлекать кого-то со стороны выглядит неоправданно дорого, вероятно, я не выберу продукт как основу. Из списка оставшихся (можно подумать после первого фильтра что-то осталось) я бы выбрал ту сборку, с которой знаком больше всего (и этот критерий был бы главенствующим), и в которой, одновременно, меньше всего сторонних модификаций.
Адекватный ли я метод написал и подойдет ли он всем? Не думаю, это мой алгоритм, "я так вижу", я исхожу из своих "слабых и сильных" аргументов и виденья того, как бы я решал поступившую хотелку. Если человек понятия не имеет как вопрос решить - стоит прежде поиска сборки, найти ответ на этот простой вопрос. Брать наугад сборку, потому что на форуме кто-то с репутацией сказал что так надо - здорово, конечно. Но если человек 2 года сидел на "что угодно" и он знание сборки (в самом широком смысле) променяет на "что угодно", в итоге получит нифига не понятную для него организацию кода (даже если код в итоге лучше и при равном знании сборок, сэкономил бы ему целый месяц, убитый на ненужные реализации) оно того точно стоит? Для меня ответ - нет, для Вас может быть "да".
Посыл в том, что любой конкретный ответ, с подобным уровнем собранного "анамнеза", как минимум не компетентен и не этичен. Алюминь.