red-gate / XmlDoc2CmdletDoc

Create cmdlet XML help files from XML doc comments
Other
63 stars 24 forks source link

Any documentation on how to actually install and invoke it? #63

Open michaelgwelch opened 2 years ago

michaelgwelch commented 2 years ago

I've read the linked articles for how to document my binary module, but the article stops at explaining how to actually use XmlDoc2CmdletDoc. There's a flowchart but that doesn't explain how to install it (including the dependencies) or invoke it. Unless I'm missing something.

michaelgwelch commented 2 years ago

I found the executable after doing a nuget install.

Launching it failed. I'll probably need to build and debug locally. I'm running on a Mac. I'm guessing due to the age, this is a full framework project so I ran the tool using Mono. I might be experiencing an issue with the difference in paths between windows and macOS:

> mono ./XmlDoc2CmdletDoc.0.3.0/tools/XmlDoc2CmdletDoc.exe ./bin/Debug/net6.0/MetasysMessagingClient.dll
AssemblyPath: /Users/cwelchmi/repos/powershell-mms-client/MetasysMessagingClient/bin/Debug/net6.0/MetasysMessagingClient.dll, OutputHelpFilePath: /Users/cwelchmi/repos/powershell-mms-client/MetasysMessagingClient/bin/Debug/net6.0/MetasysMessagingClient.dll-Help.xml, TreatWarningsAsErrors False
XmlDoc2CmdletDoc.Core.EngineException: Failed to load XML Doc comments from file: /Users/cwelchmi/repos/powershell-mms-client/MetasysMessagingClient/bin/Debug/net6.0/MetasysMessagingClient.xml ---> System.TypeInitializationException: The type initializer for 'Jolt.XmlDocCommentReaderSettings' threw an exception. ---> System.ArgumentException: Invalid path
  at System.IO.Path.GetDirectoryName (System.String path) [0x0000d] in <e068e2227ab74c1bb3d724ebaab0e3ff>:0 
  at Jolt.XmlDocCommentReaderSettings.CreateDefaultSettings () [0x00035] in <6036017984de4e2d891e8714eef236db>:0 
  at Jolt.XmlDocCommentReaderSettings..cctor () [0x00000] in <6036017984de4e2d891e8714eef236db>:0 
   --- End of inner exception stack trace ---
  at Jolt.XmlDocCommentReader..ctor (System.String docCommentsFullPath, System.Func`2[T,TResult] createReadPolicy) [0x0000e] in <6036017984de4e2d891e8714eef236db>:0 
  at Jolt.XmlDocCommentReader..ctor (System.String docCommentsFullPath) [0x00000] in <6036017984de4e2d891e8714eef236db>:0 
  at XmlDoc2CmdletDoc.Core.Comments.JoltCommentReader..ctor (System.String docCommentsFullPath) [0x00014] in <6213092d0742470389049493ab469665>:0 
  at XmlDoc2CmdletDoc.Core.Engine.LoadComments (XmlDoc2CmdletDoc.Core.Options options, XmlDoc2CmdletDoc.Core.ReportWarning reportWarning) [0x00023] in <6213092d0742470389049493ab469665>:0 
   --- End of inner exception stack trace ---
  at XmlDoc2CmdletDoc.Core.Engine.LoadComments (XmlDoc2CmdletDoc.Core.Options options, XmlDoc2CmdletDoc.Core.ReportWarning reportWarning) [0x0004f] in <6213092d0742470389049493ab469665>:0 
  at XmlDoc2CmdletDoc.Core.Engine.GenerateHelp (XmlDoc2CmdletDoc.Core.Options options) [0x00026] in <6213092d0742470389049493ab469665>:0 
GenerateHelp completed with exit code 'DocCommentsLoadError'

But I suspect I may have issues reading the assembly as well as it's .net 6.

So you can probably close this issue.