Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    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 !