docfx icon indicating copy to clipboard operation
docfx copied to clipboard

All builds failing without any changes

Open curt-w opened this issue 3 years ago • 17 comments

Operating System: Windows + Linux

DocFX Version Used: docfx.console v2.59.3

Template used: default

Steps to Reproduce:

  1. Run docfx against any project.

Expected Behavior: Documentation generated.

Actual Behavior: Error / warning reported and no documentation generated. There are many files within the .csproj, and I have about 13 projects all experiencing the same issue with no explanation. These are all DevOps pipelines, and I have reproduced locally by installing the NuGet package / running DocFX generation.

Perhaps related to https://github.com/dotnet/sdk/issues/27059 - only reason I mention this is because both the argument issue and this DocFX issue began occurring on all my projects at the same time. If not this specific issue, perhaps some other change in a more recent net / msbuild version?

PS C:\Users\xxx.nuget\packages\docfx.console\2.59.3\tools> .\docfx.exe "C:\Development\xxx\docfx.json" --serve [22-08-16 12:26:44.530]Info:[MetadataCommand.ExtractMetadata]Using msbuild C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin as inner compiler. [22-08-16 12:26:44.758]Info:[MetadataCommand.ExtractMetadata]Loading projects... [22-08-16 12:26:46.519]Warning:MetadataCommand.ExtractMetadataWorkspace failed with: [Failure] Msbuild failed when processing the file 'C:\Development\xxx\Localization.csproj' with message: Method not found: 'System.ReadOnlySpan1<Char> Microsoft.IO.Path.GetFileName(System.ReadOnlySpan1<Char>)'. [22-08-16 12:26:46.975]Warning:[MetadataCommand.ExtractMetadata]Project 'C:\Development\xxx\Localization.csproj' does not contain any documents.

curt-w avatar Aug 16 '22 00:08 curt-w

Most likely related to https://github.com/dotnet/docfx/issues/8097

paulushub avatar Aug 16 '22 00:08 paulushub

Agree - just came across #8097 myself.

curt-w avatar Aug 16 '22 00:08 curt-w

I just had this issue occur on my GitHub Action too

Lachee avatar Aug 16 '22 09:08 Lachee

Hacky fix which works for me, basically the manual version of #8135 until there's a release containing that:

  • Download System.Memory NuGet package version 4.5.5
  • Extract lib/net461/System.Memory.dll into the docfx installation directory
  • Modify docfx.exe.config to add the following binding redirect:
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
      </dependentAssembly>
    </assemblyBinding>

jskeet avatar Aug 18 '22 13:08 jskeet

Hacky fix which works for me, basically the manual version of #8135 until there's a release containing that:

  • Download System.Memory NuGet package version 4.5.5
  • Extract lib/net461/System.Memory.dll into the docfx installation directory
  • Modify docfx.exe.config to add the following binding redirect:
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
      </dependentAssembly>
    </assemblyBinding>

@jskeet I am using the dotnet tool. Is there a hacky fix/workaround for this situation?

CalvinWilkinson avatar Aug 23 '22 14:08 CalvinWilkinson

@CalvinWilkinson: I'm afraid I haven't tried using docfx that way at all.

jskeet avatar Aug 23 '22 14:08 jskeet

@jskeet I am using it as a dotnet tool which works great, but because I am building and publishing the docfx site using GitHub actions. How are you using it?

CalvinWilkinson avatar Aug 23 '22 14:08 CalvinWilkinson

@CalvinWilkinson: I just unzip the release and execute docfx.exe directly (always on a Windows box, which may make a difference).

jskeet avatar Aug 23 '22 15:08 jskeet

@CalvinWilkinson: Isn't the dotnet tool v3 only?

OskarKlintrot avatar Aug 23 '22 15:08 OskarKlintrot

@OskarKlintrot You know what, you are correct. I think it is.

I was just interested in different approaches because I am running into issues.

  • #8143

CalvinWilkinson avatar Aug 23 '22 15:08 CalvinWilkinson

I'm running into the same problem on Windows 11 and Visual Studio 2022 17.3.2. I've tried the following but still encountering the issue.

Anything else to try?

Hacky fix which works for me, basically the manual version of #8135 until there's a release containing that:

  • Download System.Memory NuGet package version 4.5.5
  • Extract lib/net461/System.Memory.dll into the docfx installation directory
  • Modify docfx.exe.config to add the following binding redirect:
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
      </dependentAssembly>
    </assemblyBinding>

ianceicys avatar Aug 26 '22 20:08 ianceicys

I'm running into the same problem on Windows 11 and Visual Studio 2022 17.3.2. I've tried the following but still encountering the issue.

Spent the past 2 hours trying to get past this. Any other ideas?

johnholliday avatar Aug 29 '22 15:08 johnholliday

I disabled all Docfx build processes and am living with stale docs for now. Dead in water.

curt-w avatar Aug 29 '22 16:08 curt-w

I think it's fixed in #8135. Not sure if there's any plans for a new release though. Imho it seems like an important fix to ship.

OskarKlintrot avatar Aug 29 '22 16:08 OskarKlintrot

I think it's fixed in #8135. Not sure if there's any plans for a new release though. Imho it seems like an important fix to ship.

I agree with this. I can't even get my new doc site up and running because of this. So I am just patiently waiting.

CalvinWilkinson avatar Aug 29 '22 17:08 CalvinWilkinson

FYI a new release with #8135 has been released last week: https://github.com/dotnet/docfx/releases

MihaZupan avatar Sep 14 '22 11:09 MihaZupan

@MihaZupan Thanks for the heads up!!
I will be picking this issue back up soon. I will retry some of the site generation. If I run into anything different or with any other issues, I will definitely post about them.

CalvinWilkinson avatar Sep 14 '22 16:09 CalvinWilkinson

Did this issue still occur in the latest release?

yufeih avatar Feb 01 '23 08:02 yufeih

Thanks for the reminder!! I am in the middle of trying to complete a release. Once I am done I will poke around and try it out. 😀

CalvinWilkinson avatar Feb 02 '23 08:02 CalvinWilkinson