DefaultDocumentation: System.AggregateException error

Hey Laszlo, how are you?

So I just encountered the following error:

  Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.Exception: Error while writing documentation for UnrealEngine.Framework.World.LineTraceSingleByChannel(System.Numerics.Vector3, System.Numerics.Vector3, UnrealEngine.Framework.CollisionChannel, UnrealEngine.Framework.Hit, UnrealEngine.Framework.Actor, UnrealEngine.Framework.PrimitiveComponent) ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'E:\Git\UnrealCLR\API\UnrealEngine-Framework-World-LineTraceSingleByChannel(System-Numerics-Vector3_System-Numerics-Vector3_UnrealEngine-Framework-CollisionChannel_UnrealEngine-Framework-Hit_UnrealEngine-Framework-Actor_UnrealEngine-Framework-PrimitiveComponent).md'.
     at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
     at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
     at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
     at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
     at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
     at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost)
     at DefaultDocumentation.DocumentationWriter.Dispose()
     at DefaultDocumentation.DocumentationGenerator.<>c__DisplayClass9_0.<WriteDocumentation>b__1(DocItem i)
     --- End of inner exception stack trace ---
     at DefaultDocumentation.DocumentationGenerator.<>c__DisplayClass9_0.<WriteDocumentation>b__1(DocItem i)
     at System.Linq.Parallel.ForAllOperator`1.ForAllEnumerator`1.MoveNext(TInput& currentElement, Int32& currentKey)
     at System.Linq.Parallel.ForAllSpoolingTask`2.SpoolingWork()
     at System.Linq.Parallel.SpoolingTaskBase.Work()
     at System.Linq.Parallel.QueryTask.BaseWork(Object unused)
     at System.Threading.Tasks.Task.Execute()
     --- End of inner exception stack trace ---
     at System.Linq.Parallel.QueryTaskGroupState.QueryEnd(Boolean userInitiatedDispose)
     at System.Linq.Parallel.DefaultMergeHelper`2.System.Linq.Parallel.IMergeHelper<TInputOutput>.Execute()
     at System.Linq.Parallel.MergeExecutor`1.Execute[TKey](PartitionedStream`2 partitions, Boolean ignoreOutput, ParallelMergeOptions options, TaskScheduler taskScheduler, Boolean isOrdered, CancellationState cancellationState, Int32 queryId)
     at System.Linq.Parallel.PartitionedStreamMerger`1.Receive[TKey](PartitionedStream`2 partitionedStream)
     at System.Linq.Parallel.ForAllOperator`1.WrapPartitionedStream[TKey](PartitionedStream`2 inputStream, IPartitionedStreamRecipient`1 recipient, Boolean preferStriping, QuerySettings settings)
     at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.ChildResultsRecipient.Receive[TKey](PartitionedStream`2 inputStream)
     at System.Linq.Parallel.ScanQueryOperator`1.ScanEnumerableQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
     at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
     at System.Linq.Parallel.QueryOperator`1.GetOpenedEnumerator(Nullable`1 mergeOptions, Boolean suppressOrder, Boolean forEffect, QuerySettings querySettings)
     at System.Linq.Parallel.ForAllOperator`1.RunSynchronously()
     at DefaultDocumentation.Program.Main(String[] args)
C:\Users\Stas\.nuget\packages\defaultdocumentation\0.6.7\build\DefaultDocumentation.targets(18,5): error MSB3073: The command ""C:\Users\Stas\.nuget\packages\defaultdocumentation\0.6.7\build\../tools/DefaultDocumentation.exe" /assembly:"E:\Git\UnrealCLR\Source\Managed\Framework\bin\Release\UnrealEngine.Framework.dll" /xml:"E:\Git\UnrealCLR\Source\Managed\Framework\obj\Release\UnrealEngine.Framework.xml" /output:"E:\Git\UnrealCLR\API" /home:"" /fileNameMode:"FullName" /nestedTypeVisibility:"DeclaringType"" exited with code -532462766. [E:\Git\UnrealCLR\Source\Managed\Framework\UnrealEngine.Framework.csproj]

Caused by these guys:

/// <summary>
/// Traces a ray against the world using a specific channel and retrieves the first blocking hit
/// </summary>
/// <returns><c>true</c> on success</returns>
public static bool LineTraceSingleByChannel(in Vector3 start, in Vector3 end, CollisionChannel channel, ref Hit hit, Actor ignoredActor = null, PrimitiveComponent ignoredComponent = null) => lineTraceSingleByChannel(start, end, channel, ref hit, null, ignoredActor != null ? ignoredActor.Pointer : IntPtr.Zero, ignoredComponent != null ? ignoredComponent.Pointer : IntPtr.Zero);

/// <summary>
/// Traces a ray against the world using a specific channel and retrieves the first blocking hit
/// </summary>
/// <returns><c>true</c> on success</returns>
public static bool LineTraceSingleByChannel(in Vector3 start, in Vector3 end, CollisionChannel channel, ref Hit hit, ref string boneName, Actor ignoredActor = null, PrimitiveComponent ignoredComponent = null) {
    byte[] stringBuffer = ArrayPool.GetStringBuffer();

    bool result = lineTraceSingleByChannel(start, end, channel, ref hit, stringBuffer, ignoredActor != null ? ignoredActor.Pointer : IntPtr.Zero, ignoredComponent != null ? ignoredComponent.Pointer : IntPtr.Zero);

    boneName = Encoding.UTF8.GetString(stringBuffer).TrimFromZero();

    return result;
}

Any idea what’s wrong with it?

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 21 (7 by maintainers)

Most upvoted comments

That’s mighty kind of you ❤️, here is my paypal.

That last one should do it :]

oh it’s not a minor thing at all, it completely botch the operator file name generation! damn I am bad today, that’s some half-assed dev on my part

@Doraku No worries! Works perfectly now, thanks!

gahhh I forgot I had a special handling for operators because of their name, that’s what I get for not having real unit tests and forgetting to test it on the dummy project with most special cases >_> Should work correctly now sorry!