9

有没有办法禁用特定的 C# 9 源代码生成器?或者将它们全部禁用?

有问题的包是https://github.com/Husqvik/GraphQlClientGenerator#c-9-source-generator这意味着能够同时用作库和源生成器。但这些是互斥的,即大多数用例通过执行代码和代码生成来生成代码是没有意义的

4

1 回答 1

9

似乎这将禁用所有

<Target Name="DisableAnalyzers" 
        BeforeTargets="CoreCompile">
  <ItemGroup>
    <Analyzer Remove="@(Analyzer)" />
  </ItemGroup>
</Target>

删除一个命名的使用文件路径

<Target Name="DisableAnalyzers"
        BeforeTargets="CoreCompile">
  <ItemGroup>
    <Analyzer Remove="D:\nugets\nugetx\0.9.2\analyzers\dotnet\cs\NugetXAnalizer.dll" />
  </ItemGroup>
</Target>

好的,最后你可以根据文件名删除

<Target Name="DisableAnalyzers"
        BeforeTargets="CoreCompile">
  <ItemGroup>
    <Analyzer Remove="@(Analyzer)"
              Condition="'%(Filename)' == 'NugetXAnalizer'"/>
  </ItemGroup>
</Target>
于 2021-02-10T03:19:10.447 回答