Мне было предложено добавить автоматическую нумерацию к сборкам в нашей библиотеке кодов. Я меняю версии с версии 1.0.0.0 на 1.0 по умолчанию. * Вот так:
[сборка: AssemblyVersion ( "1.0. *" )]
Он генерирует число, которое мне бы хотелось.
Однако библиотека кода содержит много сотен DLL, причем многие ссылаются друг на друга. Теперь, когда я компилирую некоторые проекты, они жалуются, что версия DLL, требуемая ссылочным компонентом, неверна, и они не будут строить: (
Как я могу сделать эту работу? Нам это нужно, так что когда DLL в нижней части нашей иерархии библиотеки кода компилируется, все остальные DLL, которые ссылаются на нее, работают правильно, не перекомпилируя.
Ошибка, которую я получаю, выглядит следующим образом:
Error 1 CA0058 : The referenced assembly 'Library1, Version=1.0.4146.17993
, Culture=neutral, PublicKeyToken=d9c65edd2096ad48' could not be found. This assembly
is required for analysis and was referenced by:
D:\Work\Source Code\Library\Library2\bin\Release\Library2.dll.
Версия 1.0.4146.17993 неверна - DLL имеет более высокое значение. Библиотеки DLL настроены на "Копировать локальную", потому что требуемое программное обеспечение требует (не спрашивайте, почему). DLL, скопированная локально, - это номер с более высоким номером версии, который мы хотим, чтобы он был.
До сих пор я пытался изменить ссылки, чтобы установить флаг "Специфическая версия" в false, но это не помогло.