C# docfx元数据步骤失败,出现错误“0”;无法加载SDK解析程序";
每当我尝试使用docfx构建任何文档时,在使用msbuild分析csprojs代码中的xml注释的C# docfx元数据步骤失败,出现错误“0”;无法加载SDK解析程序";,c#,visual-studio,msbuild,roslyn,docfx,C#,Visual Studio,Msbuild,Roslyn,Docfx,每当我尝试使用docfx构建任何文档时,在使用msbuild分析csprojs代码中的xml注释的元数据构建步骤中都会出现以下错误: 警告:MetadataCommand.ExtractMetadataWorkspace失败,原因为:[Failure]Msbuild在处理文件“C:\temp\docfxtest\docfx\u project\src\src.csproj”时失败,消息为:无法加载SDK解析器。清单文件存在,但找不到SDK解析器DLL文件的路径。清单文件路径“C:\Program
元数据
构建步骤中都会出现以下错误:
警告:MetadataCommand.ExtractMetadataWorkspace失败,原因为:[Failure]Msbuild在处理文件“C:\temp\docfxtest\docfx\u project\src\src.csproj”时失败,消息为:无法加载SDK解析器。清单文件存在,但找不到SDK解析器DLL文件的路径。清单文件路径“C:\Program Files(x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\sdkresolver\Microsoft.Build.NuGetSdkResolver\Microsoft.Build.NuGetSdkResolver.xml”。SDK解析程序路径:C:\Program Files(x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\NuGet\Microsoft.Build.NuGetSdkResolver.dll C:\temp\docfxtest\docfx\U project\src\src.csproj
docfx似乎无法正确解析msbuild。你知道我该怎么解决这个问题吗
我在Windows上使用docfx版本2.56.5.0,我还安装了VS Enterprise 2019(16.8.2)和VS Build Tools 2017(15.9.29):
更新:
我现在已经完全卸载了VS 2017构建工具,并使用安装程序修复了VS 2019安装。现在,当我运行docfx时,会出现另一个错误。它似乎再也找不到msbuild
警告:MetadataCommand.ExtractMetadataWorkspace失败,原因是:[Failure]Msbuild在处理文件“C:\temp\docfxtest\docfx\u project\src\src.csproj”时失败,消息为:找不到指定的SDK“Microsoft.NET.SDK”。C:\temp\docfxtest\docfx\u项目\src\src.csproj
运行msbuild-t:restore,build
还显示它找不到msbuild
未将“msbuild”识别为内部或外部命令
目标是:
NET核心工作负载也是如此:
由于某些问题,您的VS2017构建工具可能存在一些问题。最重要的问题是:
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\NuGet\Microsoft.Build.NuGetSdkResolver.dll
您丢失了dll或dll已损坏
更新
1)首先,您应该检查是否安装了NuGet目标和构建任务
workload和net核心构建工具
workload。如果没有,请安装它
2)秒,请删除项目的bin
和obj
文件夹,然后重试
您应该使用msbuild-t:restore,build
来生成项目
3)第三个,尝试从vs\u安装程序
修复构建工具。它将修复相关的dll。然后删除bin
和obj
文件夹,使用构建工具再次测试项目
重要:
VS2017不支持
net core 3.1
。你应该注意到这一点。它支持您的VS2017构建工具可能由于某些问题而出现一些问题。最重要的问题是:
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\NuGet\Microsoft.Build.NuGetSdkResolver.dll
您丢失了dll或dll已损坏
更新
1)首先,您应该检查是否安装了NuGet目标和构建任务
workload和net核心构建工具
workload。如果没有,请安装它
2)秒,请删除项目的bin
和obj
文件夹,然后重试
您应该使用msbuild-t:restore,build
来生成项目
3)第三个,尝试从vs\u安装程序
修复构建工具。它将修复相关的dll。然后删除bin
和obj
文件夹,使用构建工具再次测试项目
重要:
VS2017不支持
net core 3.1
。你应该注意到这一点。它支持我已使用Chocolate完全卸载了docfx(choco uninstall docfx
)从c:\ProgramData\Chocolate\.Chocolate\
中删除了每个名为docfx
的文件夹,然后重新安装它(choco install docfx
)。在那之后,一切又恢复了正常。文件c:\ProgramData\chocolate\lib\docfx\tools\docfx.exe.config
包含大量与msbuild相关的配置。可能是出了什么问题。我已经用Chocolate完全卸载了docfx(choco卸载docfx
)从c:\ProgramData\Chocolate\.Chocolate\
中删除了每个名为docfx
的文件夹,然后重新安装了它(choco安装docfx
)。在那之后,一切又恢复了正常。文件c:\ProgramData\chocolate\lib\docfx\tools\docfx.exe.config
包含大量与msbuild相关的配置。可能是出了问题。您在VS2019 enterprise上成功构建了项目吗?请让我们知道这是构建工具本身或项目本身的问题。我可以使用VS自行构建csprojs,但我无法使用docfx为他们构建文档。Docfx找不到msbuild。您是否已在VS2019 enterprise上成功生成项目?请让我们知道这是构建工具本身或项目本身的问题。我可以使用VS自行构建csprojs,但我无法使用docfx为他们构建文档。Docfx找不到msbuild。我将尝试。令我惊讶的是,它试图使用VS2017的构建工具。我认为它应该选择并寻找VS2019的构建工具。此外,如果您的项目是targetnet framework
,当您删除bin和obj文件夹时,请首先运行nuget restore xxx/xxx.sln
来还原文件。所有项目都是netcoreapp3.1感谢您的反馈,因此您应该使用msbuild-t:restore,生成
.Cli