jeffcampbellmakesgames / Entitas-Redux

An entity-component framework for Unity with code generation and visual debugging
MIT License
102 stars 13 forks source link

[BUG] No instances of MSBuild could be detected. #57

Closed diegochiodini closed 2 years ago

diegochiodini commented 2 years ago

Describe the bug After configuring Genesis for the first time, I press "Generate CLI code" and I get this. https://cdn.discordapp.com/attachments/750898960113074216/882964925289472040/unknown.png

Unity Version: Unity 2021.1.14f1

To Reproduce Creates genesis installation folder in "Genesis.CLI" under the project folder. Update Genesis CLI. Install or Update all plugins.

Create genesis settings SObject. Press Auto Import. Press Generate. Observe.

Expected behavior The code generation completes successfully.

Additional context Win10 Pro Version 10.0.19042 Build 19042


Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions

Name Property


2.0 MSBuildToolsPath : C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ 3.5 MSBuildToolsPath : C:\Windows\Microsoft.NET\Framework64\v3.5\ 4.0 FrameworkSDKRoot : $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A@InstallationFolder) MSBuildRuntimeVersion : 4.0.30319 MSBuildToolsPath : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ MSBuildToolsPath32 : $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSB uild\ToolsVersions\4.0@MSBuildT oolsPath) MSBuildToolsRoot : C:\Windows\Microsoft.NET\Framework64\ SDK35ToolsPath : $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx35Tools-x86@InstallationFolder) SDK40ToolsPath : $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools-x86@InstallationFolder)

diegochiodini commented 2 years ago

If anyone else has the same issue, please make sure that you installed .net Core SDK 3.1. The runtime or VS build tools won't work.

jeffcampbellmakesgames commented 2 years ago

Thanks for responding back with your identified solution. MSBuild is a core component used to load and parse through the C# solution and projects Unity generates for any associated code and Genesis/ER analyzes that output to generate code for the framework based on user-defined types, attributes.

I've updated the wiki FAQ (https://github.com/jeffcampbellmakesgames/Entitas-Redux/wiki/FAQ) to include notes about this and will update the readme shortly to denote that MSBuild is also a requirement and installing the .Net 3.1 SDK will ensure it's presence.

jeffcampbellmakesgames commented 2 years ago

I've updated the readme for both Genesis and ER to denote MSBuild is a requirement and the myriad ways it can be installed.

https://github.com/jeffcampbellmakesgames/Entitas-Redux#requirements