0
Fixed

Documentation generator error

Rixly239 2 years ago updated by William ianneci 2 years ago 16

I am installing Bolt now, got an error when it tries to download the documentation:

System.ArgumentNullException: Argument cannot be null.
Parameter name: path1
  at System.IO.Path.Combine (System.String path1, System.String path2) [0x00006] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.IO/Path.cs:112 
  at Ludiq.Paths.get_builder () [0x00008] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Utilities\Paths.cs:156 
  at Ludiq.DocumentationGenerator.GenerateDocumentation (System.String projectPath) [0x0009a] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Documentation\DocumentationGenerator.cs:32 
  at Ludiq.GenerateDocumentationPage+DocumentationGenerationStep.Update () [0x00028] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Windows\GenerateDocumentationWindow\GenerateDocumentationPage.cs:277 
Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):

Answer

Answer

It seems the issue is that you're using Windows but don't have Microsoft Build (msbuild) installed on your system. Normally, it should come with the Unity installer, but you can try downloading & installing it manually from this URL:

https://www.microsoft.com/en-us/download/details.aspx?id=48159

To re-run the documentation generator after, use Tools > Ludiq > Generate Documentation....

Please let me know if this fixes your issue!

I'll be reviewing this ASAP. Can you skip the generate documentation step for now?

Hey yeah, no problem... doesn't interfere with installation as such so all good. I'll poke around tomorrow to see if i can help if there any other minor teething glitches. Looking great...

Oh, I installed the latest Unity 2017 before I imported Bolt..

2017.2? That shouldn't be a problem. As long as you have at least 2017.1.

I installed the public version .1 ,no beta versions...

Answer

It seems the issue is that you're using Windows but don't have Microsoft Build (msbuild) installed on your system. Normally, it should come with the Unity installer, but you can try downloading & installing it manually from this URL:

https://www.microsoft.com/en-us/download/details.aspx?id=48159

To re-run the documentation generator after, use Tools > Ludiq > Generate Documentation....

Please let me know if this fixes your issue!

Thanks Lazlo, that's my problem fixed :-)

Great! I added a better warning for the next version that points to the download link.

Pretty sure this is exactly the same issue, at least on this system,  the odd part is I only had 1 red X for the editor 2nd pass on my MacBook Air.

Unity Ver-2107.1.0f3
iMac MacOS Sierra  Ver- 10.12.6 (16G29)
iMac (27-inch, Mid 2011)
Processor 3.1 GHz Intel Core i5
MEM 4 GB 1333 MHz DDR3
Graphics AMD Radeon HD 6970M 2048 MB
Unity running from a USB SSD drive
---------
Gernerate Documentation
---
Runtime
1st pass Red x

System.IO.FileLoadException: MSBuild / XBuild not found.
  at Ludiq.Paths.get_builder () [0x00042] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Utilities\Paths.cs:165 
  at Ludiq.DocumentationGenerator.GenerateDocumentation (System.String projectPath) [0x0009a] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Documentation\DocumentationGenerator.cs:32 
  at Ludiq.GenerateDocumentationPage+DocumentationGenerationStep.Update () [0x00028] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Windows\GenerateDocumentationWindow\GenerateDocumentationPage.cs:277 
---
2nd pass Red X

System.IO.FileLoadException: MSBuild / XBuild not found.
  at Ludiq.Paths.get_builder () [0x00042] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Utilities\Paths.cs:165 
  at Ludiq.DocumentationGenerator.GenerateDocumentation (System.String projectPath) [0x0009a] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Documentation\DocumentationGenerator.cs:32 
  at Ludiq.GenerateDocumentationPage+DocumentationGenerationStep.Update () [0x00028] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Windows\GenerateDocumentationWindow\GenerateDocumentationPage.cs:277 
---
Editor
1st pass

System.IO.FileLoadException: MSBuild / XBuild not found.
  at Ludiq.Paths.get_builder () [0x00042] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Utilities\Paths.cs:165 
  at Ludiq.DocumentationGenerator.GenerateDocumentation (System.String projectPath) [0x0009a] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Documentation\DocumentationGenerator.cs:32 
  at Ludiq.GenerateDocumentationPage+DocumentationGenerationStep.Update () [0x00028] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Windows\GenerateDocumentationWindow\GenerateDocumentationPage.cs:277 

2nd pass

System.IO.FileLoadException: MSBuild / XBuild not found.
  at Ludiq.Paths.get_builder () [0x00042] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Utilities\Paths.cs:165 
  at Ludiq.DocumentationGenerator.GenerateDocumentation (System.String projectPath) [0x0009a] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Documentation\DocumentationGenerator.cs:32 
  at Ludiq.GenerateDocumentationPage+DocumentationGenerationStep.Update () [0x00028] in C:\Users\Lazlo\Projects\Ludiq\Ludiq.Core\Editor\Windows\GenerateDocumentationWindow\GenerateDocumentationPage.cs:277 


Hi William,

Not exactly the same issue, but close.

As indicated by the error, Bolt cannot find XBuild (MSBuild's equivalent on Mac).

Can you open the terminal and type xbuild /version? It should return something like this:


+1

That is actually what I meant to type, ha. While I do have Visual studio for Mac, I do not use it often and Mono was not up to date on this iMac. After updating Mono, I get a Green on all.

As someone who is not as code savvy as you, can you explain why each has two passes. I assume it is not as simple as it doing each 2 times for thoroughness but is each is meant for something different?

Glad you got it working! So the Mono update was the solution on Mac.

The different passes refer to Unity's script compilation order: 
https://docs.unity3d.com/Manual/ScriptCompileOrderFolders.html

The equivalent of these in Bolt is:

  • Phase 1: Runtime (First Pass)
  • Phase 2: Editor (First Pass)
  • Phase 3: Runtime (Second Pass)
  • Phase 4: Editor (Second Pass)

You may not have all of these depending on how your project is setup.

Yes, For Mac, mono was the key, needed to be updated to 5.96 and  possibly have Visual Studio for Mac. Though I use Scrptinpector3 as my goto IDE as it works in editor across platforms. Only use Studio as a fallback or some critical need only found in it and occasionally when testing on a PC and decide to code correct on it.

Unity's script compilation order I was aware of, but for some reason did not put it and Bolts equivalent together, ha. TY.