Skip to content

API generation fails when attempting to parse <Module> type in C# assemblies #180

Closed
@eiriktsarpalis

Description

@eiriktsarpalis

For whatever reason, the library attempts to generate documentation for the <Module> type. This causes a failure, since the ouput file contains invalid characters.

This is the type record that caused the failure:

{Name = "<Module>";
 UrlName = "global-<module>";
 Comment = {Blurb = "";
            FullText = "";
            Sections = [];};
 UnionCases = [];
 RecordFields = [];
 StaticParameters = [];
 AllMembers = [];
 Constructors = [];
 InstanceMembers = [];
 StaticMembers = [];}

and here is the complete stacktrace:

System.AggregateException: One or more errors occurred. ---> System.ArgumentExce
ption: Illegal characters in path.
   at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)

   at System.IO.Path.Combine(String path1, String path2)
   at <StartupCode$FSharp-MetadataFormat>.$Main.Generate@922-5.Invoke(Type typ,
ParallelLoopState _arg2, RazorRender razor) in c:\Tomas\Public\FSharp.Formatting
\src\FSharp.MetadataFormat\Main.fs:line 926
   at System.Threading.Tasks.Parallel.<>c__DisplayClass32`2.<PartitionerForEachW
orker>b__30()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass11.<ExecuteSelfReplicating>b_
_10(Object param0)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceled
Exceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationTo
ken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](P
artitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Actio
n`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal,
 Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`
1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState
, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithE
verything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource,TLocal](IEnumerable`1 sour
ce, Func`1 localInit, Func`4 body, Action`1 localFinally)
   at FSharp.MetadataFormat.Parallel.pfor[TSource,TLocal](IEnumerable`1 input, F
SharpFunc`2 localInit, FSharpFunc`2 body) in c:\Tomas\Public\FSharp.Formatting\s
rc\Common\Razor.fs:line 18
   at FSharp.MetadataFormat.MetadataFormat.Generate(FSharpList`1 dllFiles, Strin
g outDir, IEnumerable`1 layoutRoots, FSharpOption`1 parameters, FSharpOption`1 n
amespaceTemplate, FSharpOption`1 moduleTemplate, FSharpOption`1 typeTemplate, FS
harpOption`1 xmlFile, FSharpOption`1 sourceRepo, FSharpOption`1 sourceFolder, FS
harpOption`1 publicOnly, FSharpOption`1 libDirs, FSharpOption`1 otherFlags, FSha
rpOption`1 markDownComments, FSharpOption`1 urlRangeHighlight) in c:\Tomas\Publi
c\FSharp.Formatting\src\FSharp.MetadataFormat\Main.fs:line 922
   at <StartupCode$FSI_0002>.$FSI_0002.main@() in c:\Development\VS 2013\FsPickl
er\docs\tools\generate.fsx:line 94
---> (Inner Exception #0) System.ArgumentException: Illegal characters in path.
   at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)

   at System.IO.Path.Combine(String path1, String path2)
   at <StartupCode$FSharp-MetadataFormat>.$Main.Generate@922-5.Invoke(Type typ,
ParallelLoopState _arg2, RazorRender razor) in c:\Tomas\Public\FSharp.Formatting
\src\FSharp.MetadataFormat\Main.fs:line 926
   at System.Threading.Tasks.Parallel.<>c__DisplayClass32`2.<PartitionerForEachW
orker>b__30()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass11.<ExecuteSelfReplicating>b_
_10(Object param0)<---

Stopped due to error

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions