Fri*_*itz 3 c# .net-5 sourcegenerators csharp-source-generator
如何将源生成器作为 nuget 包添加到 C# net5 项目?
要将项目添加为源生成器,请使用以下代码完成此工作:
<ItemGroup>
<ProjectReference Include="..\xyz.SourceGenerators\xyz.SourceGenerators.csproj"
OutputItemType="Analyzer"
ReferenceOutputAssembly="false"
SetTargetFramework="TargetFramework=netstandard2.0" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
不过,我正在寻找 XMLPackageReference以添加 nuget 包作为源生成器。
我想出了解决办法。感谢您在评论中的提示。
<PackageReference Include="xyz.SourceGenerators" Version="1.0.0">
Run Code Online (Sandbox Code Playgroud)
添加包含源生成器的 Nuget 包就足够了。
但是,您需要将 Generator 正确添加到 nuget 包中。为此,将以下行添加到.csprojnuget 包中。
<ItemGroup>
<None Include="$(OutputPath)\netstandard2.0\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
解决方案来自:如何打包 C# 9 源生成器并将其上传到 Nuget?