name: "csharp"
aliases:
  - "c#"
display_name: "C#"
version: 1.22.1
column_kind: "utf16"
overlay_support_version: 20250626
extra_env_vars:
  DOTNET_GENERATE_ASPNET_CERTIFICATE: "false"
build_modes:
  - autobuild
  - manual
  - none
default_queries:
  - codeql/csharp-queries
github_api_languages:
  - C#
scc_languages:
  - C#
file_types:
  - name: cs
    display_name: C# sources
    extensions:
      - .cs
legacy_qltest_extraction: true
options:
  trap:
    title: Options pertaining to TRAP.
    type: object
    properties:
      compression:
        title: Controls compression for the TRAP files written by the extractor.
        description: >
          This option is only intended for use in debugging the extractor. Accepted
          values are 'brotli' (the default, to write brotli-compressed TRAP), 'gzip', and 'none'
          (to write uncompressed TRAP).
        type: string
        pattern: "^(none|gzip|brotli)$"
  buildless:
    title: DEPRECATED - Whether to use buildless (standalone) extraction.
    description: >
      DEPRECATED: Use `--build-mode none` instead.

      A value indicating, which type of extraction the autobuilder should perform.
      If 'true', then the standalone extractor will be used, otherwise tracing extraction
      will be performed.
      The default is 'false'.
      Note that buildless extraction will generally yield less accurate analysis results,
      and should only be used in cases where it is not possible to build
      the code (for example if it uses inaccessible dependencies).
    type: string
    pattern: "^(false|true)$"
  logging:
    title: Options pertaining to logging.
    type: object
    properties:
      verbosity:
        title: Extractor logging verbosity level.
        description: >
          Controls the level of verbosity of the extractor.
          The supported levels are (in order of increasing verbosity):
            - off
            - errors
            - warnings
            - info or progress
            - debug or progress+
            - trace or progress++
            - progress+++
        type: string
        pattern: "^(off|errors|warnings|(info|progress)|(debug|progress\\+)|(trace|progress\\+\\+)|progress\\+\\+\\+)$"
  binlog:
    title: Binlog
    description: >
      [EXPERIMENTAL] The value is a path to the MsBuild binary log file that should be extracted.
      This option only works when `--build-mode none` is also specified.
    type: array
  buildless_dependency_dir:
    title: The path where buildless (standalone) extraction should keep dependencies.
    description: >
      If set, the buildless (standalone) extractor will store dependencies in this directory.
    type: string
