CMake CSharp справочные пакеты Nuget - PullRequest
0 голосов
/ 09 мая 2018

У меня есть проект CSharp, настроенный через CMake, и у меня проблема со ссылками на пакеты nuget. Я пытался добавить их через:

set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DOTNET_REFERENCES
"../../packages/ExcelDna.Integration.0.34.6/lib/ExcelDna.Integration.dll")

После восстановления пакетов nuget мне все еще нужно дважды щелкнуть ссылку в Visual Studio (2015), чтобы успешно скомпилировать программу. Кроме того, существует ли независимый от номера версии способ добавления ссылок на пакеты nuget? И как можно добавить ExtensionTargets, требуемый для некоторых пакетов (например, ExcelDna.AddIn)?

1 Ответ

0 голосов
/ 20 июля 2019

Вы можете использовать VS_DOTNET_REFERENCE_<YourLibrary>, чтобы получить CMake для поиска ссылок на пакеты Nuget. Попробуйте это:

set_property(TARGET ${PROJECT_NAME} PROPERTY 
    VS_DOTNET_REFERENCE_ExcelDna.Integration 
    ${CMAKE_BINARY_DIR}/packages/ExcelDna.Integration.0.34.6/lib/ExcelDna.Integration.dll
)

Обратите внимание, что полное имя DLL должно быть добавлено к директиве VS_DOTNET_REFERENCE_ для создания полной переменной. Однако я не видел независимого от номера версии способа загрузки пакетов Nuget, и мне пришлось вручную редактировать файлы CMake, чтобы включить эти пакеты. Вы можете проверить этот ответ для более подробного объяснения.

...