Как провалить сборку на отсутствующих скрытых зависимостях в C #? - PullRequest
0 голосов
/ 13 мая 2018

База кода состоит из сотен решений с парой проектов на C # каждый, каждый из которых настроен на копирование своих выходных DLL в определенную папку, откуда другие проекты могут ссылаться на них.

Проекты (= DLL) иногда имеют скрытые зависимости в виде сторонних пакетов nuget, что приводит к исключению времени выполнения, если пакет nuget не установлен в исполняемом проекте. Есть ли встроенная (или просто какая-либо другая) для обозначения существования этих скрытых зависимостей без явной передачи необходимых классов из сторонней библиотеки и сбоя сборки, если пакеты не установлены?

Пример:

Project Company.ExternalClient предоставляет оболочку для StackOverflow.Redis, предоставляя класс HiddenRedisClient.

Project SomeMicroService ссылается на dll Company.ExternalClient для использования класса HiddenRedisClient, но не ссылается на пакет nuget StackOverflow.Redis. Он будет скомпилирован, но потерпит неудачу во время выполнения, что является проблемой здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...