2017-10-12 2 views
1

Je l'analyseur construit avecExiste-t-il un modèle pour construire un analyseur de roslyn avec le nouveau msbuild SDK csproj?

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <TargetFramework>net461</TargetFramework> 
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo> 
    <PackageId>Weingartner.Json.Migration.Roslyn</PackageId> 
    </PropertyGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.CodeAnalysis" Version="2.3.2" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\Weingartner.Json.Migration.Common_\Weingartner.Json.Migration.Common.csproj" /> 
    </ItemGroup> 
</Project> 

mais je dois le mettre dans un paquet NuGet dans le format de l'analyseur. Quels sont les balises et le contenu de msbuild pour emballer le paquet de nuget correctement. Pour un certain contexte je vais utiliser le script PowerShell suivante pour construire le paquet NuGet

$version=gitversion /output json /showvariable FullSemVer 
dotnet pack -o ./artifacts --configuration Release /p:Version=$version Weingartner.Json.Migration.Roslyn\Weingartner.Json.Migration.Roslyn.csproj 
dotnet nuget push Weingartner.Json.Migration.Roslyn\artifacts\Weingartner.Json.Migration.Roslyn.$version.nupkg 

Le projet open source cette question s'applique à est

https://github.com/Weingartner/Migrations.Json.Net

Répondre

0

Il y a une documentation ici: https://docs.microsoft.com/en-us/nuget/schema/analyzers-conventions

Et un exemple ici https://github.com/dotnet/roslyn-analyzers/tree/master/nuget/Roslyn.Diagnostics.Analyzers

Puisque vous parlez d'un nouveau projet SDK, je suppose que vous ciblez principalement les projets de référence de package et puisque install.ps1/uninstall.ps1 n'est pas compatible avec Package Reference, je vous suggère de ne pas vous fier à ces scripts. Idéalement, vous ne les avez pas dans votre colis.

+0

Lorsque vous suivez le fil d'Ariane, il semble que vous vous retrouviez avec un grand * .csx (script csharp) qui amorce le fichier nuspec. https://github.com/dotnet/roslyn-analyzers/blob/master/build/GenerateAnalyzerNuspec.csx – bradgonesurfing