Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Unable to generate DOTS C# solution

Discussion in 'Project Tiny' started by Grizzant, Sep 3, 2020.

  1. Grizzant

    Grizzant

    Joined:
    Jun 4, 2015
    Posts:
    8
    Hi all,

    First, thank you for the Project Tiny feature, it sounds promising :)

    I am trying actually to perform some debugging on my small game and i have read in the "Get started" document ( https://docs.google.com/document/d/...HfnAX-CpYLK3aOdwA/edit#heading=h.flt05qfyo528 ) that i can attach the process to visual studio debugger through a special DOTS C# solution. It is cool.

    But unfortunately, i am not able to generate this solution using the "Generate DOTS C# solution" menu entry, i get the following error :


    Generate DOTS C# Solution failed.
    [ 0s] Build frontend of artifacts\buildprogram\tundra_buildprogram.dag ran (ForceDagRegen option used)
    error: Failed to find system reference mscorlib in reference assemblies for framework Bee.DotNet.Framework461 (provided by [Unity.BuildSystem.CSharpSupport.StevedoreReferenceAssemblyProvider, Unity.BuildSystem.CSharpSupport.SystemInstalledReferenceAssemblyProvider]) (System.IO.FileNotFoundException)
    at Unity.BuildSystem.CSharpSupport.CSharpCompiler.SetupInvocation
    at Unity.BuildSystem.CSharpSupport.CSharpProgram.SetupSpecificConfiguration
    at UnsafeUtility+UnsafeUtilityCSharpProgram.SetupSpecificConfiguration
    at System.Linq.Enumerable.ToDictionary
    at Unity.BuildSystem.CSharpSupport.CSharpProgram.SetupSpecificConfiguration
    at DotsRuntimeCSharpProgram.SetupSpecificConfiguration
    at System.Linq.Enumerable.ToDictionary
    at Unity.BuildSystem.CSharpSupport.CSharpProgram.SetupSpecificConfiguration
    at DotsRuntimeCSharpProgram.SetupSpecificConfiguration
    at System.Linq.Enumerable.ToDictionary
    at Unity.BuildSystem.CSharpSupport.CSharpProgram.SetupSpecificConfiguration
    at DotsRuntimeCSharpProgram.SetupSpecificConfiguration
    at System.Linq.Enumerable+WhereSelectArrayIterator`2[TSource,TResult].MoveNext
    at System.Linq.Buffer`1[TElement]..ctor
    at System.Linq.Enumerable.ToArray
    at BuildProgram.Main
    at System.RuntimeMethodHandle.InvokeMethod
    at Bee.StandaloneBeeDriver+<>c.<CreateBuildGraph>b__42_0
    at Bee.StandaloneBeeDriver.RunBuildProgramInBeeEnvironment
    at Bee.StandaloneBeeDriver.CreateBuildGraph
    at Bee.StandaloneBeeDriver.BuildMain
    at Bee.StandaloneBeeDriver.Main
    *** Tundra build failed to setup error (1.46 seconds), 0 items updated
    [E] DAG generator driver failed: "D:\Dev\UnityDemos\DOTSTest\Library\PackageCache\com.unity.dots.runtime@0.29.0-preview.22\bee~\bee.exe" build --beemode=ToCreateBuildGraph --commandlinerequest=ProjectFiles -f --root-artifacts-path=artifacts --bee-driver-buildprogramroot=.
    UnityEngine.Debug:LogError(Object)
    Unity.Entities.Runtime.Build.GenerateDotsSolutionView:RunBeeProjectFiles(BuildProgress) (at Library/PackageCache/com.unity.dots.runtime@0.29.0-preview.22/Unity.Entities.Runtime.Build.Editor/GenerateDotsSolution.cs:799)
    Unity.Entities.Runtime.Build.GenerateDotsSolutionView:GenerateSolution() (at Library/PackageCache/com.unity.dots.runtime@0.29.0-preview.22/Unity.Entities.Runtime.Build.Editor/GenerateDotsSolution.cs:782)
    Unity.Entities.Runtime.Build.GenerateDotsSolutionWindow:OnGUI() (at Library/PackageCache/com.unity.dots.runtime@0.29.0-preview.22/Unity.Entities.Runtime.Build.Editor/GenerateDotsSolution.cs:79)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)


    I am using Project Tiny 0.29 preview with Unity 2020.1.4f1.
    It seems mscorlib is not found, so i assume i miss one assembly definition reference in my assembly definition asset :


    {
    "name": "GameSystems",
    "references": [
    "Unity.Entities",
    "Unity.Jobs",
    "Unity.Burst",
    "Unity.Mathematics",
    "Unity.Transforms",
    "Unity.Collections",
    "Unity.Physics",
    "Unity.Tiny.Input",
    "Unity.Tiny.RendererExtras",
    "Unity.Tiny.Core",
    "Unity.Tiny.Rendering",
    "Unity.Tiny.Audio",
    "Unity.Tiny.Text",
    "Unity.Tiny.Animation",
    "Unity.Tiny.Particles",
    "Unity.Entities.Runtime",
    "Unity.Scenes",
    ""
    ],
    "includePlatforms": [],
    "excludePlatforms": [],
    "allowUnsafeCode": false,
    "overrideReferences": false,
    "precompiledReferences": [
    ""
    ],
    "autoReferenced": true,
    "defineConstraints": [],
    "versionDefines": [],
    "noEngineReferences": false
    }


    But i am not able to find out which one is missing.
    I looked to the TinyRacing example, there is the same issue, cannot generate the DOTS C# solution.
    I also tried to only check Windows .NET 2.0 target with Debug / Develop configuration, but no more success.

    Any idea ?

    Thanks beforehand
     
  2. AbdulAlgharbi

    AbdulAlgharbi

    Unity Technologies

    Joined:
    Jul 27, 2018
    Posts:
    319
    Hi Grizzant
    Please make sure that you have .Net desktop development installed
    upload_2020-9-3_18-3-12.png
    Alongside with .net 4.6.1
    upload_2020-9-3_18-4-4.png

    Let me know if that works for you
     
    GilbertoBitt likes this.
  3. Grizzant

    Grizzant

    Joined:
    Jun 4, 2015
    Posts:
    8
    Hi Abdul,

    Good catch, i was missing .NET Framework 4.6.1 SDK.
    It is working good with 4.6.1, thank you !