【问题标题】:Is there a template for build a roslyn analyzer with new msbuild SDK csproj?是否有使用新的 msbuild SDK csproj 构建 roslyn 分析器的模板?
【发布时间】:2017-10-12 06:17:37
【问题描述】:

我正在构建分析器

<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 包中。正确打包 nuget 包的 msbuild 标签和内容是什么。在某些情况下,我将使用以下 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

这个问题适用的开源项目是

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

【问题讨论】:

    标签: .net msbuild nuget roslyn-code-analysis


    【解决方案1】:

    这里有一些文档: 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 与包参考不兼容,我建议不要依赖这些脚本。理想情况下,您的包裹中没有它们。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2019-10-23
    • 1970-01-01
    相关资源
    最近更新 更多