Как я могу заставить Specflow использовать привязки из внешних сборок? - PullRequest
0 голосов
/ 05 октября 2019

У меня есть проект, который использует обязательные атрибуты. Я решил упаковать некоторую логику, которая используется в этих привязках, чтобы ее можно было использовать в нескольких проектах.

После упаковки пакета NuGet и обращения к нему привязки, похоже, вообще не срабатывают изпосылка. При наведении курсора на ключевое слово [Binding] ссылочное пространство имен отсутствует, а текст отображается белым.

Возможно ли вообще узнать BindingAttribute в пакете NuGet?

1 Ответ

1 голос
/ 05 октября 2019

Учитывая, что вы пометили specflow, я предполагаю, что этот вопрос действительно «Как я могу заставить Specflow использовать привязки из внешних сборок». Быстрый поиск в Google по этому вопросу находит эту страницу в вики Specflow .

Важная часть со страницы:

Чтобы использовать привязки извнешняя привязка сборки, вы должны перечислить ее (с именем сборки) в app.config проекта SpecFlow. Проект SpecFlow всегда включен неявно. Подробнее о конфигурации см. В разделе <stepAssemblies> руководства по конфигурации .

<specFlow>
  <stepAssemblies>
    <stepAssembly assembly="MySharedBindings" />
  </stepAssemblies>
</specFlow>

В противном случае NuGet не делает ничего особенного, это всего лишь механизм доставки,К моменту запуска компилятора он не знает, была ли каждая сборка из ссылки на проект или пакет. Во время выполнения это не имеет значения.

Для библиотек, таких как MVC или Specflow, свойственно обнаруживать только классы из вызывающей сборки, а не все сборки, поэтому вам обычно приходится читать документы инфраструктуры, которые вы используете, чтобы выяснить,как зарегистрировать дополнительные сборки. Не существует единого или общего способа, каждая библиотека или фреймворк имеют свою собственную технику.

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