Да, вы можете!
- Открыть существующее решением
- Добавить новый проект от «анализатора коды Fix (NuGet + VSIX)» шаблон
- В существующем проекте NuGet, добавьте обычную ссылку на библиотеку классов анализатора
- Скопируйте папку
tools\
в корне существующего проекта NuGet (включая .ps1
файлы)
- Добавьте эти две строки в существующий файл .nuspec:
<file src="$outdir$MyOrganisation.MyService.Analyzers.dll" target="analyzers\dotnet\cs" exclude="**\Microsoft.CodeAnalysis.*; **\System.Collections.Immutable.*;**\System.Reflection.Metadata.*; **\System.Composition.*" />
<file src="tools\*.ps1" target="tools\" />
Вы вновь генерироваться .nupkg будет теперь ваш анализатор в комплекте с ним и добавить его в зависимости от того, проект добавляет ссылку на него.
Для очистки вы можете удалить Diagnostic.nuspec в своем проекте анализатора, а также событие AfterBuild в файле .csproj.
Примечание: вы можете удалить exclude
, так как теперь вы нацеливаете определенный файл, тогда как ранее он использовал подстановочный знак для выбора всех файлов .dll
. Я еще не пробовал это без него, поэтому я оставлю это в ответе на данный момент.