Методы, описанные в данной статье, эволюционариовали в более лучшее и удобное решение, в дальнейшем описанное на Хабре
В моём плагине ModPlus все функции (плагины) имеют свою версию сборки под каждую версию поддерживаемого продукта. Т.е. для AutoCAD, на момент написания статьи, это 7 проектов на каждую функцию. Конечно, копипастить одно и тоже во всех проектах муторно и долго. Благо, есть несколько лайфкахов как свести все проблемы к минимуму и работать только с одним проектом. И сегодня я хотел бы рассказать о том, как менять версию сборки сразу во всех проектах. Как ни странно, но для многих новичков это может оказаться неизвестной фичей. Да что таить – я сам недавно только начал использовать этот метод =)
Итак, имеется Solution (Решение) для функции Таблицы с 7 проектами. Вся основная информация о проекте располагается в файле AssemblyInfo.cs. Перейдём в первый проект (который является базовым для всех остальных) и создадим файл AssembyInfoCommon.cs. Название роли не играет.
Далее, вставим этот файл во все остальные проекты как ссылку. Проще всего это сделать простым перетаскиванием мышкой с зажатой кнопкой Alt в Обозревателе решений. Как видно у ссылочного файла на иконке появляется синяя стрелочка в квадрате
Теперь откроем файл AssemblyInfo.cs и удалим из него все, что будет одинаковым во всех проектах. Хоть тема у нас про версию сборки, но и для всех остальных свойств проекта работает такой-же принцип. Конечно, нужно не удалить, а вырезать и вставить, например, в блокнот. Ну или сразу в файл AssembyInfoCommon.cs. В моём случае в файле AssemblyInfo.cs осталось только свойство «Описание», так как в рамках плагина ModPlus это важно
Ну и последний шаг – вставляем то, что вырезали, в файл AssembyInfoCommon.cs
Таким образом, чтобы изменить версию сборки сразу у всех проектов в решении, достаточно будет открыть файл AssembyInfoCommon.cs и перебить значение версии. Причем, файл вы можете открывать из любого проекта – так как он вставлен ссылкой, то всегда будет открываться оригинал.
Единственная проблема (проблема – это сильное слово в этом случае) в том, что в свойствах проекта не будут отображаться данные
Но это совсем не существенно ;)