PackageReference для пакетов NuGet в проектах C ++ - PullRequest
0 голосов
/ 30 мая 2018

Я являюсь частью проекта, в котором мы используем файлы packages.config для пакетов NuGet в Visual Studioe, а затем включаем каждую зависимость пакета через оператор Import в файлы нашего проекта.

Это прекрасно работает, есливам всегда нужны пакеты, но у нас есть несколько условных пакетов, которые мы хотели бы исключить, если разработчик не хочет / не хочет их.Я нашел тег PackageReference , который сделал бы зависимость намного чище и позволил бы нам включать пакеты условно.

Кажется, что он полностью поддерживается в проектах C #, но я не могу понятьесли он поддерживается для проектов C ++ или нет.

Я попытался удалить все наши файлы packages.config и заменить все ссылки на теги PackageReference, но тег PackageReference, похоже, не подхватываетсяменеджер пакетов.Я прошел через все «инструменты миграции», которые смог найти и для Visual Studio, но не повезло.

Возможно ли использовать его для проектов C ++?Если нет, есть ли обходной путь, который позволяет мне исключить определенные пакеты условно?

Я использую Visual Studio Professional 15.6.7.

1 Ответ

0 голосов
/ 30 мая 2018

Возможно ли использовать его для проектов C ++?

На данный момент PackageReference - это , но не , но поддерживается для проектов C ++.Команда NuGet оценивает его для поддержки будущих выпусков.Возможно, вы заставили его работать через некоторые хаки, но если вы создадите новый проект на c ++ и попытаетесь установить этот пакет как PackageReference, он не позволит вам.Поэтому я рекомендую вам продолжать использовать package.config для ваших проектов и библиотек c ++.

Кроме того, вы можете добавить свой запрос или проголосовать за эту функцию на сайте Visual Studio UserVoice: Использовать PackageReference в vcxproj .Когда достаточное количество сообществ проголосует и добавит комментарии к этому отзыву, член команды по продукту воспримет это всерьез.

Если нет, существует ли обходной путь, позволяющий исключить определенные пакеты условно?

Вы можете включить условные ссылки в файл пользовательских целей и развернуть dll в папке tools пакета, чтобы они не добавлялись Nuget автоматически как ссылки.

: Обновление NuGet и условные ссылки

Надеюсь, это поможет.

...