mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
feat(generator): 配置代码生成器项目以支持NuGet包发布
- 添加 IsRoslynAnalyzer 和 GeneratePackageOnBuild 属性 - 更新项目引用配置以支持分析器使用 - 添加 System.Collections.Immutable 包引用 - 配置生成文件输出路径和可见性 - 添加 README.md 文件并配置打包路径 - 设置包读取文档文件引用
This commit is contained in:
parent
8058860a80
commit
65a9afe04f
@ -1,25 +1,26 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
|
||||||
<PackageId>GeWuYou.GFramework.Generator</PackageId>
|
<PackageId>GeWuYou.GFramework.Generator</PackageId>
|
||||||
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
|
<IsRoslynAnalyzer>true</IsRoslynAnalyzer>
|
||||||
|
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<IsRoslynComponent>true</IsRoslynComponent>
|
<IsRoslynComponent>true</IsRoslynComponent>
|
||||||
|
|
||||||
<!-- 对 generator 项目要启用扩展规则 -->
|
<!-- 对 generator 项目要启用扩展规则 -->
|
||||||
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
||||||
|
|
||||||
<!-- 不把输出当作运行时库 -->
|
<!-- 不把输出当作运行时库 -->
|
||||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||||
|
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||||
<!-- 有助于调试生成的代码(可选) -->
|
<!-- 有助于调试生成的代码(可选) -->
|
||||||
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
|
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
|
||||||
<CompilerGeneratedFilesOutputPath>Generated</CompilerGeneratedFilesOutputPath>
|
<CompilerGeneratedFilesOutputPath>Generated</CompilerGeneratedFilesOutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" PrivateAssets="all"/>
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" PrivateAssets="all"/>
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" PrivateAssets="all"/>
|
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" PrivateAssets="all"/>
|
||||||
|
<PackageReference Include="System.Collections.Immutable" Version="9.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@ -32,8 +33,13 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="$(OutputPath)\$(AssemblyName).dll" Pack="true"
|
<None Include="$(OutputPath)\$(AssemblyName).dll" Pack="true"
|
||||||
PackagePath="analyzers/dotnet/cs" Visible="false"/>
|
PackagePath="analyzers/dotnet/cs" Visible="false"/>
|
||||||
|
<None Include="$(OutputPath)$(AssemblyName).dll" Pack="true" PackagePath="lib/netstandard2.0" />
|
||||||
<None Include="$(OutputPath)\GFramework.Generator.Attributes.dll" Pack="true"
|
<None Include="$(OutputPath)\GFramework.Generator.Attributes.dll" Pack="true"
|
||||||
PackagePath="analyzers/dotnet/cs" Visible="false"/>
|
PackagePath="analyzers/dotnet/cs" Visible="false"/>
|
||||||
|
<None Update="README.md">
|
||||||
|
<Pack>true</Pack>
|
||||||
|
<PackagePath></PackagePath>
|
||||||
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
3
GFramework.Generator/README.md
Normal file
3
GFramework.Generator/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
项目额外的简单代码生成器
|
||||||
|
目前已有的功能
|
||||||
|
- 为枚举添加两个扩展方法方便判断枚举值
|
||||||
@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
<!-- 引用 Source Generator -->
|
<!-- 引用 Source Generator -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="GFramework.Generator\GFramework.Generator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
|
<ProjectReference Include="GFramework.Generator\GFramework.Generator.csproj" PrivateAssets="all" />
|
||||||
<ProjectReference Include="GFramework.Generator.Attributes\GFramework.Generator.Attributes.csproj"/>
|
<ProjectReference Include="GFramework.Generator.Attributes\GFramework.Generator.Attributes.csproj"/>
|
||||||
<ProjectReference Include="GFramework.Core\GFramework.Core.csproj"/>
|
<ProjectReference Include="GFramework.Core\GFramework.Core.csproj"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user