Skip to content

MergeCommand failing (null pointer exception) #3067

@artemlos

Description

@artemlos

DocFX Version Used: 2.37.0.0

Template used: default

Steps to Reproduce:

  1. Add the following to docfx.json
  "metadata": [
    {
      "src": "*.csproj",
      "dest": "temp/api/netstandard2.0",
      "properties": {
          "TargetFramework": "netstandard2.0"
      }
    },
      {
        "src": "*.csproj",
        "dest": "temp/api/net40",
        "properties": {
            "TargetFramework": "net40"
        }
    },
      {
        "src": "*.csproj",
        "dest": "temp/api/net46",
        "properties": {
            "TargetFramework": "net46"
        }
    }
  ],
  "merge": {
    "content": [
        {
            "files": "*.yml",
            "src": "temp/api/net40"
        },
        {
            "files": "*.yml",
            "src": "temp/api/net46"
        },
        {
          "files": "*.yml",
          "src": "temp/api/netstandard2.0"
        }
    ],
    "fileMetadata": {
        "platform": {
            "temp/api/net40/*.yml": [
                "net40"
            ],
            "temp/api/net46/*.yml": [
                "net46"
            ],
            "temp/api/netstandard2.0/*.yml": [
              "netstandard2.0"
          ]
        }
    },
    "dest": "api"
}
  1. Run docfx.exe metadata
  2. Run docfx.exe docfx.json --serve

Expected Behavior:
API documentation generated (i.e. merge command should have moved the files into the api folder)

Actual Behavior:
An error was thrown and and the API documentation files were not generated.

[18-07-12 03:10:53.343]Info:[MetadataCommand]Completed Scope:MetadataCommand in 17778.9324 milliseconds.
[18-07-12 03:10:53.387]Info:[MergeCommand.Merge Metadata]Start merge metadata...
[18-07-12 03:10:55.891]Error:[MergeCommand]System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.DocAsCode.Build.Engine.HostServiceCreator.LoadModels(IEnumerable`1 files, DocumentBuildParameters parameters, IDocumentProcessor processor)
   at Microsoft.DocAsCode.Build.Engine.HostServiceCreator.CreateHostService(DocumentBuildParameters parameters, TemplateProcessor templateProcessor, IMarkdownService markdownService, IEnumerable`1 metadataValidator, IDocumentProcessor processor, IEnumerable`1 files)
   at Microsoft.DocAsCode.Build.Engine.SingleDocumentBuilder.Build(IDocumentProcessor processor, DocumentBuildParameters parameters, IMarkdownService markdownService)
   at Microsoft.DocAsCode.SubCommands.MetadataMerger.MergePageViewModel(MetadataMergeParameters parameters)
   at Microsoft.DocAsCode.SubCommands.MetadataMerger.Merge(MetadataMergeParameters parameters)
   at Microsoft.DocAsCode.SubCommands.MergeCommand.MergeDocument(String baseDirectory, String outputDirectory)
[18-07-12 03:10:55.912]Info:[MergeCommand]Completed Scope:MergeCommand in 2568.157 milliseconds.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dotnetGenerate .NET API reference docs

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions