FSharp.Formatting icon indicating copy to clipboard operation
FSharp.Formatting copied to clipboard

No docs generated for FAKE

Open matthid opened this issue 4 years ago • 10 comments

While trying to research what I need to do to update FAKE to latest, I noticed the API reference is missing at the moment: https://fsprojects.github.io/FSharp.Formatting/reference/index.html

Does this mean this is currently not supported by the upgrade or is this just some build issue here in the repository?

Thanks for the migration docs by the way.

matthid avatar Aug 05 '20 13:08 matthid

Lol will fix it

dsyme avatar Aug 05 '20 13:08 dsyme

The problem is the generation of the default index. The docs are there, e.g. https://fsprojects.github.io/FSharp.Formatting/reference/fsharp-formatting-markdown-markdownlistkind.html

dsyme avatar Aug 05 '20 13:08 dsyme

I'm not actually sure what the problem was here. Odd. I rebuilt and the docs are there now

dsyme avatar Aug 05 '20 14:08 dsyme

@dsyme Unfortunate, because while trying around I noticed the same issue in https://github.com/fsharp/FAKE/pull/2538 (and hoped that would be the same issue). Maybe the code has some problems with how the projects are setup, as I managed to fix all the errors, but I only get an empty index page (nothing else)...

matthid avatar Aug 05 '20 15:08 matthid

Hmmm are you still getting this? Can you share an output of fsdocs?

dsyme avatar Aug 08 '20 10:08 dsyme

Yes. I checkout the update_fsf branch and then

  • when running dotnet fsdocs build it said the projects are not restored

  • After running dotnet restore Fake.sln it said "because it doesn't have a target path"

  • After running TargetPath=bin/Release/netstandard2.0 dotnet fsdocs build it said "because it doesn't have <GenerateDocumentationFile>"

  • After running TargetPath=bin/Release/netstandard2.0 GenerateDocumentationFile=true dotnet fsdocs build it seems to run without any error but it generates no docs. -> It said please set FsDocsReleaseNotesLink, RepositoryUrl, FsDocsLicenseLink, this is new with the latest version, I didn't saw this with the latest update

  • So I added them to my directory.build.props

    <Project>
      <PropertyGroup>
         <!-- Include PDBs in Nuget package. -->
        <AllowedOutputExtensionsInPackageBuildOutputFolder>.pdb; $(AllowedOutputExtensionsInPackageBuildOutputFolder)</AllowedOutputExtensionsInPackageBuildOutputFolder>
    
        <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0">
          <PrivateAssets>all</PrivateAssets>
          <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
        </PackageReference>
      </PropertyGroup>
      <PropertyGroup>
        <RepositoryUrl>https://github.com/fsharp/FAKE</RepositoryUrl>
        <RepositoryBranch>release/next</RepositoryBranch>
        <RepositoryType>git</RepositoryType>
        <FsDocsSourceRepository>https://github.com/fsharp/FAKE</FsDocsSourceRepository>
        <FsDocsSourceFolder>E:\Projects\FAKE</FsDocsSourceFolder>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
      </PropertyGroup>
      <ItemGroup>
        <!-- Workaround The type referenced through 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard'. -->
        <Reference Condition=" '$(TargetFramework)' == 'net472' " Include="netstandard" />
      </ItemGroup>
    </Project>
    
  • Now it fails with (which is new at the time of writing)

    skipping project 'skipping project 'Fake.Documentation.DocFx.fsproj' because an error occurred while cracking it: System.Exception: error - MSBuildFailed
      (1,
       ("E:\Projects\FAKE", "dotnet",
        "msbuild E:\Projects\FAKE\src\app\Fake.Documentation.DocFx\Fake.Documentation.DocFx.fsproj /t:_Inspect_GetProperties /p:_Inspect_GetProperties_OutFile=C:\Users\matth\AppData\Local\Temp\59bc9084-57dd-476d-8883-352aeb0cebafGetProperties.txt /p:CustomAfterMicrosoftCommonTargets=C:\Users\matth\AppData\Local\Temp\acd4faab-9820-4156-94f4-6e2f9bf9c07bproj-info.hook.targets /p:CustomAfterMicrosoftCommonCrossTargetingTargets=C:\Users\matth\AppData\Local\Temp\acd4faab-9820-4156-94f4-6e2f9bf9c07bproj-info.hook.targets /nologo /verbosity:quiet /p:DesignTimeBuild=true"))
    log - searching deprecated target file in 'E:\Projects\FAKE\src\app\Fake.Documentation.DocFx\obj\Fake.Documentation.DocFx.fsproj.proj-info.targets'.
    writing helper target file in 'C:\Users\matth\AppData\Local\Temp\acd4faab-9820-4156-94f4-6e2f9bf9c07bproj-info.hook.targets'
    E:\Projects\FAKE\src\Directory.Build.props(6,23): error MSB4066: The attribute "Include" in element <PackageReference> is unrecognized. [E:\Projects\FAKE\src\app\Fake.Documentation.DocFx\Fake.Documentation.DocFx.fsproj]
    
    
       at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1637.Invoke(String message) in E:\A\_work\130\s\src\fsharp\FSharp.Core\printf.fs:line 1637
       at [email protected](String p) in E:\GitHub\dsyme\fsharp-core-docs\FSharp.Formatting\src\FSharp.Formatting.CommandTool\BuildCommand.fs:line 306skipping project '
    Fake.Tools.Rsync.fsproj' because an error occurred while cracking it: System.Exception: error - MSBuildFailed
    
  • I noticed that it apparently chokes with the global package reference so I uncommented it temporarily:

    <Project>
      <PropertyGroup>
         <!-- Include PDBs in Nuget package. -->
        <AllowedOutputExtensionsInPackageBuildOutputFolder>.pdb; $(AllowedOutputExtensionsInPackageBuildOutputFolder)</AllowedOutputExtensionsInPackageBuildOutputFolder>
    
        <!--PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0">
          <PrivateAssets>all</PrivateAssets>
          <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
        </PackageReference-->
      </PropertyGroup>
      <PropertyGroup>
        <RepositoryUrl>https://github.com/fsharp/FAKE</RepositoryUrl>
        <RepositoryBranch>release/next</RepositoryBranch>
        <RepositoryType>git</RepositoryType>
        <FsDocsSourceRepository>https://github.com/fsharp/FAKE</FsDocsSourceRepository>
        <FsDocsSourceFolder>E:\Projects\FAKE</FsDocsSourceFolder>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
      </PropertyGroup>
      <ItemGroup>
        <!-- Workaround The type referenced through 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard'. -->
        <Reference Condition=" '$(TargetFramework)' == 'net472' " Include="netstandard" />
      </ItemGroup>
    </Project>
    
    
  • And now back again: No errors in output but no reference documentation either (only an empty index page)

Output
matth@Desktop-Tower MINGW64 /e/Projects/FAKE (update_fsf)
$ TargetPath=bin/Release/netstandard2.0 dotnet fsdocs build
getting projects from solution file E:\Projects\FAKE\Fake.sln
skipping project 'Fake.Core.UnitTests.fsproj' because it looks like a test project
skipping project 'Fake.Core.CommandLine.UnitTests.fsproj' because it looks like a test project
skipping project 'Fake.Core.IntegrationTests.fsproj' because it looks like a test project
skipping project 'Fake.DotNet.Cli.IntegrationTests.fsproj' because it looks like a test project
skipping project 'Fake.ExpectoSupport.fsproj' because it looks like a test project
cracking projects...
skipping project 'Fake.netcore.fsproj' because it isn't a library
skipping project 'fake-cli.fsproj' because it isn't a library
  root --> /Fake/
  fsdocs-authors --> Fake.Core.Context
  fsdocs-collection-name --> Fake
  fsdocs-collection-name-link --> /Fake/
  fsdocs-copyright --> {{fsdocs-copyright}}
  fsdocs-logo-src --> /Fake/img/logo.png
  fsdocs-navbar-position --> fixed-right
  fsdocs-theme --> default
  fsdocs-logo-link --> /Fake/
  fsdocs-license-link --> https://github.com/fsharp/FAKE/blob/master/LICENSE.md
  fsdocs-release-notes-link --> https://github.com/fsharp/FAKE/blob/master/RELEASE_NOTES.md
  fsdocs-package-project-url --> /Fake/
  fsdocs-package-license-expression --> {{fsdocs-package-license-expression}}
  fsdocs-package-icon-url --> {{fsdocs-package-icon-url}}
  fsdocs-package-tags -->
  fsdocs-package-version --> 1.0.0
  fsdocs-repository-link --> https://github.com/fsharp/FAKE/
  fsdocs-repository-branch --> release/next
  fsdocs-repository-commit --> {{fsdocs-repository-commit}}
  (netstandard2) fsdocs-authors --> Fake.Core.FakeVar
  (netstandard2) fsdocs-authors --> Fake.Core.Environment
  (netstandard2) fsdocs-authors --> Fake.Core.Process
  (netstandard2) fsdocs-authors --> Fake.Core.ReleaseNotes
  (netstandard2) fsdocs-authors --> Fake.Core.SemVer
  (netstandard2) fsdocs-authors --> Fake.Core.String
  (netstandard2) fsdocs-authors --> Fake.Core.Trace
  (netstandard2) fsdocs-authors --> Fake.Core.Target
  (netstandard2) fsdocs-authors --> Fake.Core.Tasks
  (netstandard2) fsdocs-authors --> Fake.Core.Xml
  (netstandard2) fsdocs-authors --> Fake.DotNet.AssemblyInfoFile
  (netstandard2) fsdocs-authors --> Fake.DotNet.Cli
  (netstandard2) fsdocs-authors --> Fake.DotNet.MSBuild
  (netstandard2) fsdocs-authors --> Fake.DotNet.NuGet
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.Expecto
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.MSpec
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.NUnit
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.XUnit2
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.MSTest
  (netstandard2) fsdocs-authors --> Fake.IO.FileSystem
  (netstandard2) fsdocs-authors --> Fake.IO.Zip
  (netstandard2) fsdocs-authors --> Fake.JavaScript.Npm
  (netstandard2) fsdocs-authors --> Fake.Runtime
  (netstandard2) fsdocs-authors --> Fake.Testing.Common
  (netstandard2) fsdocs-authors --> Fake.Windows.Chocolatey
  (netstandard2) fsdocs-authors --> Fake.Tools.Git
  (netstandard2) fsdocs-authors --> Fake.DotNet.FSFormatting
  (netstandard2) fsdocs-authors --> Fake.DotNet.Paket
  (netstandard2) fsdocs-authors --> Fake.Testing.SonarQube
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.OpenCover
  (netstandard2) fsdocs-authors --> Fake.Api.Slack
  (netstandard2) fsdocs-authors --> Fake.Api.GitHub
  (netstandard2) fsdocs-authors --> Fake.DotNet.Xamarin
  (netstandard2) fsdocs-authors --> Fake.Net.Http
  (netstandard2) fsdocs-authors --> Fake.Azure.CloudServices
  (netstandard2) fsdocs-authors --> Fake.Azure.Emulators
  (netstandard2) fsdocs-authors --> Fake.Azure.Kudu
  (netstandard2) fsdocs-authors --> Fake.Azure.WebJobs
  (netstandard2) fsdocs-authors --> Fake.BuildServer.TeamCity
  (netstandard2) fsdocs-authors --> Fake.BuildServer.AppVeyor
  (netstandard2) fsdocs-authors --> Fake.BuildServer.Travis
  (netstandard2) fsdocs-authors --> Fake.BuildServer.TeamFoundation
  (netstandard2) fsdocs-authors --> Fake.Core.CommandLineParsing
  (netstandard2) fsdocs-authors --> Fake.Documentation.DocFx
  (netstandard2) fsdocs-authors --> Fake.Api.HockeyApp
  (netstandard2) fsdocs-authors --> Fake.JavaScript.Yarn
  (netstandard2) fsdocs-authors --> Fake.Sql.DacPac
  (netstandard2) fsdocs-authors --> Fake.Installer.InnoSetup
  (netstandard2) fsdocs-authors --> Fake.Testing.ReportGenerator
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.SpecFlow
  (netstandard2) fsdocs-authors --> Fake.DotNet.Mage
  (netstandard2) fsdocs-authors --> Fake.Tools.Pickles
  (netstandard2) fsdocs-authors --> Fake.Tools.GitVersion
  (netstandard2) fsdocs-authors --> Fake.Windows.Registry
  (netstandard2) fsdocs-authors --> Fake.DotNet.Fsc
  (netstandard2) fsdocs-authors --> Fake.BuildServer.GitLab
  (netstandard2) fsdocs-authors --> Fake.DotNet.Fsi
  (netstandard2) fsdocs-authors --> Fake.Installer.Wix
  (netstandard2) fsdocs-authors --> Fake.Core.UserInput
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.VSTest
  (netstandard2) fsdocs-authors --> Fake.Tools.Rsync
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.DotCover
  (netstandard2) fsdocs-authors --> Fake.Tools.Octo
  (netstandard2) fsdocs-authors --> Fake.Core.Vault
  (netstandard2) fsdocs-authors --> Fake.Installer.Squirrel
  (netstandard2) fsdocs-authors --> Fake.DotNet.FxCop
  (netstandard2) fsdocs-authors --> Fake.DotNet.ILMerge
  (netstandard2) fsdocs-authors --> Fake.DotNet.Xdt
  (netstandard2) fsdocs-authors --> Fake.DotNet.Testing.Coverlet
  (netstandard2) fsdocs-authors --> Fake.Sql.SqlPackage
  (netstandard2) fsdocs-authors --> Fake.Tools.SignTool
  (netstandard2) fsdocs-authors --> Fake.Core.DependencyManager.Paket
  (netstandard2) fsdocs-authors --> Fake.BuildServer.GitHubActions
  (netstandard2) fsdocs-authors --> fake-template
using extra content from C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras
preparing docs\markdown\404.md --> .\markdown\404.html
preparing docs\markdown\api-slack.md --> .\markdown\api-slack.html
preparing docs\markdown\buildserver.md --> .\markdown\buildserver.html
preparing docs\markdown\contributing.md --> .\markdown\contributing.html
preparing docs\markdown\core-commandlineparsing.md --> .\markdown\core-commandlineparsing.html
preparing docs\markdown\core-process.md --> .\markdown\core-process.html
preparing docs\markdown\core-targets.md --> .\markdown\core-targets.html
preparing docs\markdown\core-trace.md --> .\markdown\core-trace.html
preparing docs\markdown\core-vault.md --> .\markdown\core-vault.html
preparing docs\markdown\core.md --> .\markdown\core.html
preparing docs\markdown\dotnet-assemblyinfo.md --> .\markdown\dotnet-assemblyinfo.html
preparing docs\markdown\dotnet-cli.md --> .\markdown\dotnet-cli.html
preparing docs\markdown\dotnet-nuget.md --> .\markdown\dotnet-nuget.html
preparing docs\markdown\dotnet-testing-coverlet.md --> .\markdown\dotnet-testing-coverlet.html
preparing docs\markdown\dotnet-testing-opencover.md --> .\markdown\dotnet-testing-opencover.html
preparing docs\markdown\fake-cache.md --> .\markdown\fake-cache.html
preparing docs\markdown\fake-commandline.md --> .\markdown\fake-commandline.html
preparing docs\markdown\fake-completion.md --> .\markdown\fake-completion.html
preparing docs\markdown\fake-debugging.md --> .\markdown\fake-debugging.html
preparing docs\markdown\fake-dotnet-testing-specflow.md --> .\markdown\fake-dotnet-testing-specflow.html
preparing docs\markdown\fake-dotnetcore.md --> .\markdown\fake-dotnetcore.html
preparing docs\markdown\fake-fake5-custom-modules.md --> .\markdown\fake-fake5-custom-modules.html
preparing docs\markdown\fake-fake5-learn-more.md --> .\markdown\fake-fake5-learn-more.html
preparing docs\markdown\fake-fake5-modules.md --> .\markdown\fake-fake5-modules.html
preparing docs\markdown\fake-gettingstarted.md --> .\markdown\fake-gettingstarted.html
preparing docs\markdown\fake-installer-squirrel.md --> .\markdown\fake-installer-squirrel.html
preparing docs\markdown\fake-migrate-to-fake-5.md --> .\markdown\fake-migrate-to-fake-5.html
preparing docs\markdown\fake-template.md --> .\markdown\fake-template.html
preparing docs\markdown\fake-tools-octo.md --> .\markdown\fake-tools-octo.html
preparing docs\markdown\fake-tools-pickles.md --> .\markdown\fake-tools-pickles.html
preparing docs\markdown\fake-tools-signtool.md --> .\markdown\fake-tools-signtool.html
preparing docs\markdown\fake-what-is-fake.md --> .\markdown\fake-what-is-fake.html
preparing docs\markdown\help-docs.md --> .\markdown\help-docs.html
preparing docs\markdown\help-supporters.md --> .\markdown\help-supporters.html
preparing docs\markdown\help-users.md --> .\markdown\help-users.html
preparing docs\markdown\legacy-assemblyinfo.md --> .\markdown\legacy-assemblyinfo.html
preparing docs\markdown\legacy-azurecloudservices.md --> .\markdown\legacy-azurecloudservices.html
preparing docs\markdown\legacy-azurewebjobs.md --> .\markdown\legacy-azurewebjobs.html
preparing docs\markdown\legacy-chocolatey.md --> .\markdown\legacy-chocolatey.html
preparing docs\markdown\legacy-commandline.md --> .\markdown\legacy-commandline.html
preparing docs\markdown\legacy-core-targets.md --> .\markdown\legacy-core-targets.html
preparing docs\markdown\legacy-customtasks.md --> .\markdown\legacy-customtasks.html
preparing docs\markdown\legacy-dacpac.md --> .\markdown\legacy-dacpac.html
preparing docs\markdown\legacy-filewatcher.md --> .\markdown\legacy-filewatcher.html
preparing docs\markdown\legacy-fsc.md --> .\markdown\legacy-fsc.html
preparing docs\markdown\legacy-gettingstarted.md --> .\markdown\legacy-gettingstarted.html
preparing docs\markdown\legacy-index.md --> .\markdown\legacy-index.html
preparing docs\markdown\legacy-slacknotification.md --> .\markdown\legacy-slacknotification.html
preparing docs\markdown\legacy-sonarqube.md --> .\markdown\legacy-sonarqube.html
preparing docs\markdown\legacy-teamcity.md --> .\markdown\legacy-teamcity.html
preparing docs\markdown\legacy-teamcityadvanced.md --> .\markdown\legacy-teamcityadvanced.html
preparing docs\markdown\net-http.md --> .\markdown\net-http.html
preparing docs\markdown\RELEASE_NOTES.md --> .\markdown\RELEASE_NOTES.html
preparing docs\markdown\sql-dacpac.md --> .\markdown\sql-dacpac.html
preparing docs\markdown\sql-sqlpackage.md --> .\markdown\sql-sqlpackage.html
preparing docs\markdown\sql-sqlserver.md --> .\markdown\sql-sqlserver.html
preparing docs\markdown\testing-reportgenerator.md --> .\markdown\testing-reportgenerator.html
preparing docs\markdown\testing-sonarqube.md --> .\markdown\testing-sonarqube.html
preparing docs\markdown\todo-androidpublisher.md --> .\markdown\todo-androidpublisher.html
preparing docs\markdown\todo-canopy.md --> .\markdown\todo-canopy.html
preparing docs\markdown\todo-deploy.md --> .\markdown\todo-deploy.html
preparing docs\markdown\todo-fluentmigrator.md --> .\markdown\todo-fluentmigrator.html
preparing docs\markdown\todo-fxcop.md --> .\markdown\todo-fxcop.html
preparing docs\markdown\todo-iis.md --> .\markdown\todo-iis.html
preparing docs\markdown\todo-msteamsnotification.md --> .\markdown\todo-msteamsnotification.html
preparing docs\markdown\todo-octopusdeploy.md --> .\markdown\todo-octopusdeploy.html
preparing docs\markdown\todo-stylecop.md --> .\markdown\todo-stylecop.html
preparing docs\markdown\todo-typescript.md --> .\markdown\todo-typescript.html
preparing docs\markdown\todo-vagrant.md --> .\markdown\todo-vagrant.html
preparing docs\markdown\todo-wix.md --> .\markdown\todo-wix.html
preparing docs\markdown\windows-chocolatey.md --> .\markdown\windows-chocolatey.html
preparing docs\redirects\androidpublisher.md --> .\redirects\androidpublisher.html
preparing docs\redirects\assemblyinfo.md --> .\redirects\assemblyinfo.html
preparing docs\redirects\azurecloudservices.md --> .\redirects\azurecloudservices.html
preparing docs\redirects\azurewebjobs.md --> .\redirects\azurewebjobs.html
preparing docs\redirects\cache.md --> .\redirects\cache.html
preparing docs\redirects\canopy.md --> .\redirects\canopy.html
preparing docs\redirects\chocolatey.md --> .\redirects\chocolatey.html
preparing docs\redirects\commandline.md --> .\redirects\commandline.html
preparing docs\redirects\create-nuget-package.md --> .\redirects\create-nuget-package.html
preparing docs\redirects\customtasks.md --> .\redirects\customtasks.html
preparing docs\redirects\dacpac.md --> .\redirects\dacpac.html
preparing docs\redirects\deploy.md --> .\redirects\deploy.html
preparing docs\redirects\fluentmigrator.md --> .\redirects\fluentmigrator.html
preparing docs\redirects\fsc.md --> .\redirects\fsc.html
preparing docs\redirects\fxcop.md --> .\redirects\fxcop.html
preparing docs\redirects\gettingstarted.md --> .\redirects\gettingstarted.html
preparing docs\redirects\iis.md --> .\redirects\iis.html
preparing docs\redirects\msteamsnotification.md --> .\redirects\msteamsnotification.html
preparing docs\redirects\nuget.md --> .\redirects\nuget.html
preparing docs\redirects\octopusdeploy.md --> .\redirects\octopusdeploy.html
preparing docs\redirects\parallel-build.md --> .\redirects\parallel-build.html
preparing docs\redirects\slacknotification.md --> .\redirects\slacknotification.html
preparing docs\redirects\soft-dependencies.md --> .\redirects\soft-dependencies.html
preparing docs\redirects\sonarcube.md --> .\redirects\sonarcube.html
preparing docs\redirects\specifictargets.md --> .\redirects\specifictargets.html
preparing docs\redirects\stylecop.md --> .\redirects\stylecop.html
preparing docs\redirects\teamcity.md --> .\redirects\teamcity.html
preparing docs\redirects\teamcityadvanced.md --> .\redirects\teamcityadvanced.html
preparing docs\redirects\typescript.md --> .\redirects\typescript.html
preparing docs\redirects\users.md --> .\redirects\users.html
preparing docs\redirects\vagrant.md --> .\redirects\vagrant.html
preparing docs\redirects\watch.md --> .\redirects\watch.html
preparing docs\redirects\wix.md --> .\redirects\wix.html
preparing docs\startpage\index.md --> .\startpage\index.html
generating model for API docs...
Generating output\reference/index.html
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\Dockerfile --> .\Dockerfile
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\NuGet.config --> .\NuGet.config
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\fsdocs-custom.css --> .\content\fsdocs-custom.css
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\fsdocs-default.css --> .\content\fsdocs-default.css
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\fsdocs-search.js --> .\content\fsdocs-search.js
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\fsdocs-tips.js --> .\content\fsdocs-tips.js
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\navbar-fixed-left.css --> .\content\navbar-fixed-left.css
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\navbar-fixed-right.css --> .\content\navbar-fixed-right.css
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\img\github-blue.png --> .\content\img\github-blue.png
copying C:\Users\matth\.nuget\packages\fsharp.formatting.commandtool\7.2.6\extras\content\img\github.png --> .\content\img\github.png
copying docs\content\android-chrome-192x192.png --> .\content\android-chrome-192x192.png
copying docs\content\android-chrome-512x512.png --> .\content\android-chrome-512x512.png
copying docs\content\apple-touch-icon.png --> .\content\apple-touch-icon.png
copying docs\content\browserconfig.xml --> .\content\browserconfig.xml
copying docs\content\favicon-16x16.png --> .\content\favicon-16x16.png
copying docs\content\favicon-32x32.png --> .\content\favicon-32x32.png
copying docs\content\favicon.ico --> .\content\favicon.ico
copying docs\content\mstile-144x144.png --> .\content\mstile-144x144.png
copying docs\content\mstile-150x150.png --> .\content\mstile-150x150.png
copying docs\content\mstile-310x150.png --> .\content\mstile-310x150.png
copying docs\content\mstile-310x310.png --> .\content\mstile-310x310.png
copying docs\content\mstile-70x70.png --> .\content\mstile-70x70.png
copying docs\content\nuspec-example.xml --> .\content\nuspec-example.xml
copying docs\content\safari-pinned-tab.svg --> .\content\safari-pinned-tab.svg
copying docs\content\site.webmanifest --> .\content\site.webmanifest
copying docs\content\assets\css\bulmaswatch.css --> .\content\assets\css\bulmaswatch.css
copying docs\content\assets\css\style.css --> .\content\assets\css\style.css
copying docs\content\assets\img\logo.png --> .\content\assets\img\logo.png
copying docs\content\assets\img\logo.svg --> .\content\assets\img\logo.svg
copying docs\content\assets\img\logo_brand.png --> .\content\assets\img\logo_brand.png
copying docs\content\assets\js\bulma.js --> .\content\assets\js\bulma.js
copying docs\content\assets\js\tips.js --> .\content\assets\js\tips.js
copying docs\content\pics\logo.png --> .\content\pics\logo.png
copying docs\content\pics\old-logo.pdn --> .\content\pics\old-logo.pdn
copying docs\content\pics\assemblyinfo\assemblymetadata.png --> .\content\pics\assemblyinfo\assemblymetadata.png
copying docs\content\pics\assemblyinfo\generated.png --> .\content\pics\assemblyinfo\generated.png
copying docs\content\pics\assemblyinfo\result.png --> .\content\pics\assemblyinfo\result.png
copying docs\content\pics\assemblyinfo\solutioninfo.png --> .\content\pics\assemblyinfo\solutioninfo.png
copying docs\content\pics\buildserver\AppVeyor_imported_tests.png --> .\content\pics\buildserver\AppVeyor_imported_tests.png
copying docs\content\pics\canopy\logo.jpg --> .\content\pics\canopy\logo.jpg
copying docs\content\pics\commandline\cmd.png --> .\content\pics\commandline\cmd.png
copying docs\content\pics\fxcop\failonerror.png --> .\content\pics\fxcop\failonerror.png
copying docs\content\pics\fxcop\report.png --> .\content\pics\fxcop\report.png
copying docs\content\pics\gettingstarted\afterclean.png --> .\content\pics\gettingstarted\afterclean.png
copying docs\content\pics\gettingstarted\aftercompile.png --> .\content\pics\gettingstarted\aftercompile.png
copying docs\content\pics\gettingstarted\afterdownload.png --> .\content\pics\gettingstarted\afterdownload.png
copying docs\content\pics\gettingstarted\afterdownloadpaket.png --> .\content\pics\gettingstarted\afterdownloadpaket.png
copying docs\content\pics\gettingstarted\alltestsgreen.png --> .\content\pics\gettingstarted\alltestsgreen.png
copying docs\content\pics\gettingstarted\compileerror.png --> .\content\pics\gettingstarted\compileerror.png
copying docs\content\pics\msteamsnotification\msteamsnotification.png --> .\content\pics\msteamsnotification\msteamsnotification.png
copying docs\content\pics\octopusdeploy\apikey.png --> .\content\pics\octopusdeploy\apikey.png
copying docs\content\pics\octopusdeploy\myprofile.png --> .\content\pics\octopusdeploy\myprofile.png
copying docs\content\pics\parallel\ParallelExample.png --> .\content\pics\parallel\ParallelExample.png
copying docs\content\pics\slacknotification\slacknotification.png --> .\content\pics\slacknotification\slacknotification.png
copying docs\content\pics\specifictargets\graph.png --> .\content\pics\specifictargets\graph.png
copying docs\content\pics\targets\targets-outline.mp4 --> .\content\pics\targets\targets-outline.mp4
copying docs\content\pics\teamcity\auth.png --> .\content\pics\teamcity\auth.png
copying docs\content\pics\teamcity\buildstep1.png --> .\content\pics\teamcity\buildstep1.png
copying docs\content\pics\teamcity\buildstep2.png --> .\content\pics\teamcity\buildstep2.png
copying docs\content\pics\teamcity\checkoutrules.png --> .\content\pics\teamcity\checkoutrules.png
copying docs\content\pics\teamcity\createproject.png --> .\content\pics\teamcity\createproject.png
copying docs\content\pics\teamcity\generalsettings.png --> .\content\pics\teamcity\generalsettings.png
copying docs\content\pics\teamcity\loghierarchy.png --> .\content\pics\teamcity\loghierarchy.png
copying docs\content\pics\teamcity\loghierarchy2.png --> .\content\pics\teamcity\loghierarchy2.png
copying docs\content\pics\teamcity\nunit.png --> .\content\pics\teamcity\nunit.png
copying docs\content\pics\teamcity\output.png --> .\content\pics\teamcity\output.png
copying docs\content\pics\teamcity\trigger.png --> .\content\pics\teamcity\trigger.png
copying docs\content\pics\teamcity\vcsroot.png --> .\content\pics\teamcity\vcsroot.png
copying docs\content\pics\teamcity\versionnumber.png --> .\content\pics\teamcity\versionnumber.png
copying docs\content\pics\teamcity\versionnumber2.png --> .\content\pics\teamcity\versionnumber2.png
writing docs\markdown\404.md --> .\markdown\404.html
writing docs\markdown\api-slack.md --> .\markdown\api-slack.html
writing docs\markdown\buildserver.md --> .\markdown\buildserver.html
writing docs\markdown\contributing.md --> .\markdown\contributing.html
writing docs\markdown\core-commandlineparsing.md --> .\markdown\core-commandlineparsing.html
writing docs\markdown\core-process.md --> .\markdown\core-process.html
writing docs\markdown\core-targets.md --> .\markdown\core-targets.html
writing docs\markdown\core-trace.md --> .\markdown\core-trace.html
writing docs\markdown\core-vault.md --> .\markdown\core-vault.html
writing docs\markdown\core.md --> .\markdown\core.html
writing docs\markdown\dotnet-assemblyinfo.md --> .\markdown\dotnet-assemblyinfo.html
writing docs\markdown\dotnet-cli.md --> .\markdown\dotnet-cli.html
writing docs\markdown\dotnet-nuget.md --> .\markdown\dotnet-nuget.html
writing docs\markdown\dotnet-testing-coverlet.md --> .\markdown\dotnet-testing-coverlet.html
writing docs\markdown\dotnet-testing-opencover.md --> .\markdown\dotnet-testing-opencover.html
writing docs\markdown\fake-cache.md --> .\markdown\fake-cache.html
writing docs\markdown\fake-commandline.md --> .\markdown\fake-commandline.html
writing docs\markdown\fake-completion.md --> .\markdown\fake-completion.html
writing docs\markdown\fake-debugging.md --> .\markdown\fake-debugging.html
writing docs\markdown\fake-dotnet-testing-specflow.md --> .\markdown\fake-dotnet-testing-specflow.html
writing docs\markdown\fake-dotnetcore.md --> .\markdown\fake-dotnetcore.html
writing docs\markdown\fake-fake5-custom-modules.md --> .\markdown\fake-fake5-custom-modules.html
writing docs\markdown\fake-fake5-learn-more.md --> .\markdown\fake-fake5-learn-more.html
writing docs\markdown\fake-fake5-modules.md --> .\markdown\fake-fake5-modules.html
writing docs\markdown\fake-gettingstarted.md --> .\markdown\fake-gettingstarted.html
writing docs\markdown\fake-installer-squirrel.md --> .\markdown\fake-installer-squirrel.html
writing docs\markdown\fake-migrate-to-fake-5.md --> .\markdown\fake-migrate-to-fake-5.html
writing docs\markdown\fake-template.md --> .\markdown\fake-template.html
writing docs\markdown\fake-tools-octo.md --> .\markdown\fake-tools-octo.html
writing docs\markdown\fake-tools-pickles.md --> .\markdown\fake-tools-pickles.html
writing docs\markdown\fake-tools-signtool.md --> .\markdown\fake-tools-signtool.html
writing docs\markdown\fake-what-is-fake.md --> .\markdown\fake-what-is-fake.html
writing docs\markdown\help-docs.md --> .\markdown\help-docs.html
writing docs\markdown\help-supporters.md --> .\markdown\help-supporters.html
writing docs\markdown\help-users.md --> .\markdown\help-users.html
writing docs\markdown\legacy-assemblyinfo.md --> .\markdown\legacy-assemblyinfo.html
writing docs\markdown\legacy-azurecloudservices.md --> .\markdown\legacy-azurecloudservices.html
writing docs\markdown\legacy-azurewebjobs.md --> .\markdown\legacy-azurewebjobs.html
writing docs\markdown\legacy-chocolatey.md --> .\markdown\legacy-chocolatey.html
writing docs\markdown\legacy-commandline.md --> .\markdown\legacy-commandline.html
writing docs\markdown\legacy-core-targets.md --> .\markdown\legacy-core-targets.html
writing docs\markdown\legacy-customtasks.md --> .\markdown\legacy-customtasks.html
writing docs\markdown\legacy-dacpac.md --> .\markdown\legacy-dacpac.html
writing docs\markdown\legacy-filewatcher.md --> .\markdown\legacy-filewatcher.html
writing docs\markdown\legacy-fsc.md --> .\markdown\legacy-fsc.html
writing docs\markdown\legacy-gettingstarted.md --> .\markdown\legacy-gettingstarted.html
writing docs\markdown\legacy-index.md --> .\markdown\legacy-index.html
writing docs\markdown\legacy-slacknotification.md --> .\markdown\legacy-slacknotification.html
writing docs\markdown\legacy-sonarqube.md --> .\markdown\legacy-sonarqube.html
writing docs\markdown\legacy-teamcity.md --> .\markdown\legacy-teamcity.html
writing docs\markdown\legacy-teamcityadvanced.md --> .\markdown\legacy-teamcityadvanced.html
writing docs\markdown\net-http.md --> .\markdown\net-http.html
writing docs\markdown\RELEASE_NOTES.md --> .\markdown\RELEASE_NOTES.html
writing docs\markdown\sql-dacpac.md --> .\markdown\sql-dacpac.html
writing docs\markdown\sql-sqlpackage.md --> .\markdown\sql-sqlpackage.html
writing docs\markdown\sql-sqlserver.md --> .\markdown\sql-sqlserver.html
writing docs\markdown\testing-reportgenerator.md --> .\markdown\testing-reportgenerator.html
writing docs\markdown\testing-sonarqube.md --> .\markdown\testing-sonarqube.html
writing docs\markdown\todo-androidpublisher.md --> .\markdown\todo-androidpublisher.html
writing docs\markdown\todo-canopy.md --> .\markdown\todo-canopy.html
writing docs\markdown\todo-deploy.md --> .\markdown\todo-deploy.html
writing docs\markdown\todo-fluentmigrator.md --> .\markdown\todo-fluentmigrator.html
writing docs\markdown\todo-fxcop.md --> .\markdown\todo-fxcop.html
writing docs\markdown\todo-iis.md --> .\markdown\todo-iis.html
writing docs\markdown\todo-msteamsnotification.md --> .\markdown\todo-msteamsnotification.html
writing docs\markdown\todo-octopusdeploy.md --> .\markdown\todo-octopusdeploy.html
writing docs\markdown\todo-stylecop.md --> .\markdown\todo-stylecop.html
writing docs\markdown\todo-typescript.md --> .\markdown\todo-typescript.html
writing docs\markdown\todo-vagrant.md --> .\markdown\todo-vagrant.html
writing docs\markdown\todo-wix.md --> .\markdown\todo-wix.html
writing docs\markdown\windows-chocolatey.md --> .\markdown\windows-chocolatey.html
copying docs\pics\DELETE_THIS_FOLDER_WHEN_WE_HAVE_A_RELEASE_WITH_LOGO.txt --> .\pics\DELETE_THIS_FOLDER_WHEN_WE_HAVE_A_RELEASE_WITH_LOGO.txt
copying docs\pics\logo.png --> .\pics\logo.png
writing docs\redirects\androidpublisher.md --> .\redirects\androidpublisher.html
writing docs\redirects\assemblyinfo.md --> .\redirects\assemblyinfo.html
writing docs\redirects\azurecloudservices.md --> .\redirects\azurecloudservices.html
writing docs\redirects\azurewebjobs.md --> .\redirects\azurewebjobs.html
writing docs\redirects\cache.md --> .\redirects\cache.html
writing docs\redirects\canopy.md --> .\redirects\canopy.html
writing docs\redirects\chocolatey.md --> .\redirects\chocolatey.html
writing docs\redirects\commandline.md --> .\redirects\commandline.html
writing docs\redirects\create-nuget-package.md --> .\redirects\create-nuget-package.html
writing docs\redirects\customtasks.md --> .\redirects\customtasks.html
writing docs\redirects\dacpac.md --> .\redirects\dacpac.html
writing docs\redirects\deploy.md --> .\redirects\deploy.html
writing docs\redirects\fluentmigrator.md --> .\redirects\fluentmigrator.html
writing docs\redirects\fsc.md --> .\redirects\fsc.html
writing docs\redirects\fxcop.md --> .\redirects\fxcop.html
writing docs\redirects\gettingstarted.md --> .\redirects\gettingstarted.html
writing docs\redirects\iis.md --> .\redirects\iis.html
writing docs\redirects\msteamsnotification.md --> .\redirects\msteamsnotification.html
writing docs\redirects\nuget.md --> .\redirects\nuget.html
writing docs\redirects\octopusdeploy.md --> .\redirects\octopusdeploy.html
writing docs\redirects\parallel-build.md --> .\redirects\parallel-build.html
writing docs\redirects\slacknotification.md --> .\redirects\slacknotification.html
writing docs\redirects\soft-dependencies.md --> .\redirects\soft-dependencies.html
writing docs\redirects\sonarcube.md --> .\redirects\sonarcube.html
writing docs\redirects\specifictargets.md --> .\redirects\specifictargets.html
writing docs\redirects\stylecop.md --> .\redirects\stylecop.html
writing docs\redirects\teamcity.md --> .\redirects\teamcity.html
writing docs\redirects\teamcityadvanced.md --> .\redirects\teamcityadvanced.html
writing docs\redirects\typescript.md --> .\redirects\typescript.html
writing docs\redirects\users.md --> .\redirects\users.html
writing docs\redirects\vagrant.md --> .\redirects\vagrant.html
writing docs\redirects\watch.md --> .\redirects\watch.html
writing docs\redirects\wix.md --> .\redirects\wix.html
writing docs\startpage\index.md --> .\startpage\index.html
copying docs\templates\docpage.cshtml --> .\templates\docpage.cshtml
copying docs\templates\indexpage.cshtml --> .\templates\indexpage.cshtml
copying docs\templates\template.cshtml --> .\templates\template.cshtml
copying docs\templates\fake4\apidocstemplate.cshtml --> .\templates\fake4\apidocstemplate.cshtml
copying docs\templates\fake5\apidocstemplate.cshtml --> .\templates\fake5\apidocstemplate.cshtml
copying docs\templates\legacy\apidocstemplate.cshtml --> .\templates\legacy\apidocstemplate.cshtml
copying docs\templates\reference\module.cshtml --> .\templates\reference\module.cshtml
copying docs\templates\reference\namespaces.cshtml --> .\templates\reference\namespaces.cshtml
copying docs\templates\reference\part-members.cshtml --> .\templates\reference\part-members.cshtml
copying docs\templates\reference\part-nested.cshtml --> .\templates\reference\part-nested.cshtml
copying docs\templates\reference\type.cshtml --> .\templates\reference\type.cshtml

matthid avatar Aug 08 '20 10:08 matthid

When I use TargetPath=bin/Release/net472 dotnet fsdocs build, I get the following exception:

Error :
System.NullReferenceException: Object reference not set to an instance of an object.
   at <StartupCode$fsdocs>[email protected](IEnumerable`1& next) in E:\GitHub\dsyme\fsharp-core-docs\FSharp.Formatting\src\FSharp.Formatting.CommandTool\BuildCommand.fs:line 555
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl() in E:\A\_work\130\s\src\fsharp\FSharp.Core\seqcore.fs:line 371
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext() in E:\A\_work\130\s\src\fsharp\FSharp.Core\seqcore.fs:line 403
   at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
   at <StartupCode$fsdocs>[email protected](IEnumerable`1& next) in E:\GitHub\dsyme\fsharp-core-docs\FSharp.Formatting\src\FSharp.Formatting.CommandTool\BuildCommand.fs:line 577
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl() in E:\A\_work\130\s\src\fsharp\FSharp.Core\seqcore.fs:line 371
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext() in E:\A\_work\130\s\src\fsharp\FSharp.Core\seqcore.fs:line 403
   at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
   at <StartupCode$fsdocs>[email protected](IEnumerable`1& next) in E:\GitHub\dsyme\fsharp-core-docs\FSharp.Formatting\src\FSharp.Formatting.CommandTool\BuildCommand.fs:line 594
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl() in E:\A\_work\130\s\src\fsharp\FSharp.Core\seqcore.fs:line 371
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext() in E:\A\_work\130\s\src\fsharp\FSharp.Core\seqcore.fs:line 403
   at Microsoft.FSharp.Collections.SeqModule.ToList[T](IEnumerable`1 source)
   at <StartupCode$fsdocs>[email protected](Unit unitVar0) in E:\GitHub\dsyme\fsharp-core-docs\FSharp.Formatting\src\FSharp.Formatting.CommandTool\BuildCommand.fs:line 878
   at <StartupCode$fsdocs>.$BuildCommand.protect@703(FSharpFunc`2 f) in E:\GitHub\dsyme\fsharp-core-docs\FSharp.Formatting\src\FSharp.Formatting.CommandTool\BuildCommand.fs:line 705
generating model for API docs...

But after deleting the .fsdocs cache I get the same behavior as with netstandard2.0

matthid avatar Aug 08 '20 22:08 matthid

OK I'll take a look. We're just using the standard project cracking logic used by ionide etc (at least I believe we are) - do you have any problem editing this solution in vscode or do all features light up?

dsyme avatar Aug 09 '20 13:08 dsyme

Small comments

  • TargetPath should be the output dll from each project, it should be computed automatically by targets etc. Only needs to be set explicitly in pseudo projects

  • Why is there no TargetFramework? Also are you using TargetFrameworks (plural). There's an open bug on that, I need to maybe learn from @Krzysztof-Cieslak and @enricosada how to crack those projects

dsyme avatar Aug 09 '20 13:08 dsyme

Could a workaround be to use a specific TargetFramework for a specific build target in order to get around the open bug?

wallymathieu avatar Oct 10 '20 07:10 wallymathieu