Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.32 KB

readme.md

File metadata and controls

38 lines (27 loc) · 1.32 KB

SponsorLink .NET Analyzer Sample

This is one opinionated implementation of SponsorLink for .NET projects leveraging Roslyn analyzers.

It is intended for use by devlooped projects, but can be used as a template for other sponsorables as well. Supporting arbitrary sponsoring scenarios is out of scope though, since we just use GitHub sponsors for now.

Usage

A project can include all the necessary files by using the dotnet-file tool and sync all files to a folder, such as:

dotnet file add https://github.com/devlooped/SponsorLink/tree/main/samples/dotnet/ src/SponsorLink/

Including the analyzer and targets in a project involves two steps.

  1. Create an analyzer project and add the following property:
  <PropertyGroup>
    ...
    <CustomAfterMicrosoftCSharpTargets>$(MSBuildThisFileDirectory)..\SponsorLink\SponsorLink.Analyzer.targets</CustomAfterMicrosoftCSharpTargets>
  </PropertyGroup>
  1. Add a buildTransitive\[PackageId].targets file with the following import:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="Devlooped.Sponsors.targets"/>
</Project>

As long as NuGetizer is used, the right packaging will be done automatically.