Исключение библиотек DLL анализатора розлин из производственного развертывания - PullRequest
0 голосов
/ 02 октября 2019

С появлением Roslyn Analyzers анализаторы (и любые зависимости) теперь добавляются в ваш проект Visual Studio - один добавленный мной анализатор включал 64 зависимых пакета. Эти библиотеки затем включаются в основной вывод проекта. Некоторые из этих библиотек DLL также будут использоваться проектом, но многие из них будут использоваться только анализаторами.

Так что, если я создал пакет развертывания, используя функцию публикации (для веб-сайта), или использовал какой-то другойинструмент сборки (например, OctoPack), все файлы (включая все анализаторы) из основного вывода включены. Я считаю, что вы должны развертывать только тот код, который абсолютно необходим (то есть минимизировать поверхность атаки).

Пара вопросов:

  1. Как люди исключают анализаторы изпроизводственные установки, особенно если, например, вы используете функцию публикации в Visual Studio.

  2. Если вы создаете установочный пакет вручную (например, с помощью WIX), как определить, какие библиотеки DLL следуетисключить из вашего проекта.

1 Ответ

0 голосов
/ 21 октября 2019

Вам необходимо установить PrivateAssets в All в вашем PackageReference, например:

<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.6" PrivateAssets="All" />

См. Также Управление активами зависимостей в документации NuGet.

...