Меня попросили добавить автоматическую нумерацию для сборок в нашей библиотеке кодов. Я менял версии с версии 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, но это не помогло.