Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# docfx元数据步骤失败,出现错误“0”;无法加载SDK解析程序";_C#_Visual Studio_Msbuild_Roslyn_Docfx - Fatal编程技术网

C# docfx元数据步骤失败,出现错误“0”;无法加载SDK解析程序";

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

每当我尝试使用docfx构建任何文档时,在使用msbuild分析csprojs代码中的xml注释的
元数据
构建步骤中都会出现以下错误:

警告: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的构建工具。此外,如果您的项目是target
net framework
,当您删除bin和obj文件夹时,请首先运行
nuget restore xxx/xxx.sln
来还原文件。所有项目都是netcoreapp3.1感谢您的反馈,因此您应该使用
msbuild-t:restore,生成
.Cli