尽管我阅读了docfx文件,以及许多Github问题,但我无法让docfx项目工作。
采取的步骤:
docfx init -qdocfx build构建(无错误)docfx "/user/docfx_project/docfx.json" --serve堆栈跟踪:
Error:Error extracting metadata for /user/docfx_project/src/MyApp/MyApp.csproj,/user/docfx_project/src/MyApp.Tests/MyApp.Tests.csproj: System.NullReferenceException: Object reference not set to an instance of an object
at Microsoft.DocAsCode.Metadata.ManagedReference.ExtractMetadataWorker.SaveAllMembersFromCacheAsync () [0x00380] in <0779a76130d64c11baa2c8c084cbfe7c>:0
at Microsoft.DocAsCode.Metadata.ManagedReference.ExtractMetadataWorker.ExtractMetadataAsync () [0x000c0] in <0779a76130d64c11baa2c8c084cbfe7c>:0 环境:
项目结构:
docfx-project
|
+-- _site
+-- api
+-- apidoc
+-- articles
+-- docfx.json
+-- images
+-- index.md
+-- obj
+-- src
|
+-- MyApp
|
+-- MyApp.csproj
+-- toc.ymldocfx.json:
{
"metadata": [
{
"src": [
{
"files": [
"src/**/**.csproj"
]
}
],
"dest": "api",
"disableGitFeatures": false,
"disableDefaultFilter": false
}
],
"build": {
"content": [
{
"files": [
"api/**.yml",
"api/index.md"
]
},
{
"files": [
"articles/**.md",
"articles/**/toc.yml",
"toc.yml",
"*.md"
]
}
],
"resource": [
{
"files": [
"images/**"
]
}
],
"overwrite": [
{
"files": [
"apidoc/**.md"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"dest": "_site",
"globalMetadataFiles": [],
"fileMetadataFiles": [],
"template": [
"default"
],
"postProcessors": [],
"markdownEngineName": "markdig",
"noLangKeyword": false,
"keepFileLink": false,
"cleanupCacheHistory": false,
"disableGitFeatures": false
}
}停下来。
发布于 2021-02-03 17:14:41
我不太清楚这是为什么,但它在我的CI机器上使用的是export VSINSTALLDIR= -换句话说,在运行docfx metadata之前清除VSINSTALLDIR环境变量。我相信这会影响docfx使用的msbuild版本(或至少一些msbuild文件)。
这是对过去的其他问题的一个修正-一个人声称已经修复了一段时间,但同样的解决办法似乎也适用于这个问题.至少在我的电脑里。
https://stackoverflow.com/questions/64155015
复制相似问题