dotnet / dotnet/docfx

MergeCommand failing (null pointer exception)

Open
#3,067 17 comments 5 reactions 0 assignees View on GitHub
dotnet
Dominant language
C#
Stars
4.4k
Forks
890
Avg merge
2h 11m
Merged PRs (30d)
10

Description

**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"
}
```
2. Run `docfx.exe metadata`
3. 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.
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.