DocFX (в Azure DevOps): импортированный проект "\ 15.0 \ Microsoft.Common.props" не найден - PullRequest
2 голосов
/ 25 апреля 2019

Я получаю это предупреждение при попытке сгенерировать документацию DocFX из задачи сборки Azure DevOps (она работает локально):

Build succeeded with warning.
  [19-04-25 03:02:23.747]Warning:[MetadataCommand.ExtractMetadata](d:/a/1/s/src/RailSharp/RailSharp.csproj)Workspace failed with: [Failure] Msbuild failed when processing the file 'd:\a\1\s\src\RailSharp\RailSharp.csproj' with message: The imported project "\15.0\Microsoft.Common.props" was not found. Also, tried to find "\15.0\Microsoft.Common.props" in the fallback search path(s) for $(MSBuildExtensionsPath) - "C:\Program Files (x86)\MSBuild" . These search paths are defined in "C:\Users\VssAdministrator\.nuget\packages\docfx.console\2.42.0\tools\docfx.exe.Config". Confirm that the path in the <Import> declaration is correct, and that the file exists on disk in one of the search paths.  C:\Program Files\dotnet\sdk\2.2.105\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
  [19-04-25 03:02:23.747]Warning:[MetadataCommand.ExtractMetadata]Project 'd:\a\1\s\src\RailSharp\RailSharp.csproj' does not contain any documents.
  [19-04-25 03:02:23.747]Warning:[MetadataCommand.ExtractMetadata]No metadata is generated for RailSharp.

Ошибка возникает из команды dotnet build (DocFX генерирует документацию, когдаэта команда вызывается).

Вот файл csproj, который я использую:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="docfx.console" Version="2.42.0">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>

</Project>

Я делаю что-то не так или это проблема DocFX?

Вот мойветвь кода при необходимости: https://github.com/softframe/railsharp/tree/feature/docs

1 Ответ

0 голосов
/ 05 мая 2019

Спасибо LeoLiu-MSFT за указание в правильном направлении. Это сработало после того, как я установил образ виртуальной машины в azure-pipelines.yml в vs2017-win2016 следующим образом:

pool:
  vmImage: vs2017-win2016

DocFX требует Visual Studio (или, по крайней мере, VS Build Tools) для построения документации. Так как VS был установлен локально, а не на образе виртуальной машины, который я использовал в DevOps Azure (то есть windows-latest) именно поэтому он работал локально, но не в DevOps Azure.

...