我的分析器是用
构建的<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>
但是我需要将它放在分析器格式的nuget包中。什么是msbuild标签和正确打包nuget包的内容。对于某些上下文,我将使用以下powershell脚本来构建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
此问题适用的开源项目是
答案 0 :(得分:0)
这里有一些文档: https://docs.microsoft.com/en-us/nuget/schema/analyzers-conventions
这里有一个例子https://github.com/dotnet/roslyn-analyzers/tree/master/nuget/Roslyn.Diagnostics.Analyzers
由于您正在讨论新的SDK项目,我假设您主要针对的是软件包引用项目,因为install.ps1 / uninstall.ps1与Package Reference不兼容,我建议不要依赖这些脚本。理想情况下,您的包装中没有它们。