Документация для VS_DOTNET_REFERENCE_<refname>
здесь не упоминает версию. Но, хотя это официально не поддерживается CMake, можно установить свойство ссылки SpecificVersion
равным True
.
Отличный ответ здесь , документирующий ситуации, в которых будет проверяться конкретная версия. На проверку влияют наличие информации о версии в ссылке на сборку и наличие элемента <SpecificVersion>
. См. Таблицу, воспроизводимую здесь:
| Version information
| Present Not present
----------------------------+------------------------------
<SpecificVersion> |
- Present, has value True | Yes (1) Yes (check always fails) (2)
- Present, has value False | No (3) No (4)
- Not present | Yes (5) No (6)
Поскольку генераторы CMake Visual Studio не предоставляют механизма (пока) для установки ссылочного свойства <SpecificVersion>
, мы должны принудительно проверить конкретную версию, вставив версиюинформация вместе с именем ссылки (случай 5 в таблице выше). Попробуйте что-то вроде этого:
set_property(TARGET my_exe PROPERTY
"VS_DOTNET_REFERENCE_Dependency1, Version=2.1.1"
"path_to_dependency_1"
)
Это установит версию на 2.1.1
, а свойство ссылки Определенная версия будет установлено на True
вместо значения по умолчанию:False
.