Cannot open GammaLauncher patch on recent previews

Hey,

I’m not able to open the GammaLauncher patch on a recent 8.0 preview (137). Nugets seem to restore fine, but the patch is all “greyed out”, tooltips all show [] and the Console shows the following error:

NullReferenceException: "Object reference not set to an instance of an object."
    StackTrace:
        
        
        VL.Lang.Platforms.Roslyn.SymbolSourceProvider+<CreateAsync>d__3 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Symbols.PreCompilation+<>c__DisplayClass12_0+<<CreateAsync>b__0>d { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Symbols.PreCompilation+<WithSolutionAsync>d__24 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<PrepareSolutionWithFreshSymbolsAsync>d__197 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<UpdateCompilationCoreAsync>d__195 { private virtual void MoveNext() { ... } } 


NullReferenceException: "Object reference not set to an instance of an object."
    StackTrace:
        
        
        VL.Lang.Platforms.Roslyn.SymbolSourceProvider+<CreateAsync>d__3 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Symbols.PreCompilation+<>c__DisplayClass12_0+<<CreateAsync>b__0>d { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Symbols.PreCompilation+<WithSolutionAsync>d__24 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<PrepareSolutionWithFreshSymbolsAsync>d__197 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<UpdateCompilationCoreAsync>d__195 { private virtual void MoveNext() { ... } } 

Attempting to interact with the patch (clicking a node, dragging selection) produces the following exception in the console

NullReferenceException: "Object reference not set to an instance of an object."
    StackTrace:
        VL.HDE.SymbolBrowsers.SymbolBrowser { public VL.Lang.Symbols.Scope GetScope(VL.HDE.SymbolBrowsers.SymbolSourceFallback x, VL.Model.ChoiceBasedReference reference) { ... } } 
        VL.HDE.SymbolBrowsers.SymbolBrowser { public VL.Lang.Symbols.Resolver GetResolver(VL.HDE.SymbolBrowsers.SymbolSourceFallback x, VL.Model.ChoiceBasedReference reference) { ... } } 
        VL.HDE.SymbolBrowsers.NodeBrowser+<GetNecessaryUpcomingDecisions>d__92 { private virtual bool MoveNext() { ... } } 
        System.Linq.Enumerable+SelectManySingleSelectorIterator`2 { public virtual TResult[] ToArray() { ... } } 
        System.Linq.Enumerable+OrderedIterator`1 { public virtual System.Collections.Generic.List<> ToList() { ... } } 
        VL.HDE.SymbolBrowsers.SymbolBrowser { internal void ReloadSymbols() { ... } } 
        VL.HDE.SymbolBrowsers.SymbolBrowser { private void TextEdit_TextChanged(string text, VL.HDE.TextEditor sender) { ... } } 
        VL.HDE.TextEditor { public void set_Text(string value) { ... } } 
        VL.HDE.SymbolBrowsers.SymbolBrowser { protected void Show(bool modal, System.EventHandler canceled) { ... } } 
        VL.HDE.SymbolBrowsers.NodeBrowser { public void Show(bool modal, System.EventHandler<VL.HDE.PadCreationEventArgs> padCreated, System.EventHandler<VL.HDE.SymbolBrowsers.ReferenceEventArgs> applicationCreated, System.EventHandler canceled, System.EventHandler ioboxClicked) { ... } } 
        VL.Lang.View.CanvasView { public void OpenNodeBrowser(System.Windows.Forms.Form owner, VL.Core.Viewer.VMouseEventArgs doubleClick, System.Drawing.Point screenPoint, bool createIOBox) { ... } } 
        VL.Lang.View.CanvasView+CanvasDecisionMouseHandler { private VL.Core.Viewer.IMouseEventHandler DoubleClickMethod(VL.Core.Viewer.VMouseEventArgs firstClick, VL.Core.Viewer.VMouseEventArgs click) { ... } } 
        VL.Lang.View.CanvasView+CanvasDecisionMouseHandler+<>c__DisplayClass35_0 { internal VL.Core.Viewer.IMouseEventHandler <SelectDownMouseHandler>b__2(VL.Core.Viewer.VMouseEventArgs click) { ... } } 
        VL.Core.Viewer.Handler+<>c__DisplayClass18_0 { internal VL.Core.Viewer.IMouseEventHandler <OnDoubleClick>b__0(VL.Core.Viewer.VMouseEventArgs down) { ... } } 
        VL.Core.Viewer.Handler+<>c__DisplayClass11_0 { internal VL.Core.Viewer.IMouseEventHandler <OnDown>b__0(VL.Core.Viewer.IMouseEventHandler c, VL.Core.Viewer.VMouseEventArgs a) { ... } } 
        VL.Core.Viewer.Handler+WaitForEventMouseHandler { public virtual VL.Core.Viewer.IMouseEventHandler MouseDown(VL.Core.Viewer.VMouseEventArgs arg) { ... } } 
        VL.Core.Viewer.Handler+ParallelMouseHandler { public virtual VL.Core.Viewer.IMouseEventHandler MouseDown(VL.Core.Viewer.VMouseEventArgs arg) { ... } } 
        VL.Lang.View.CanvasView+CanvasDecisionMouseHandler { public virtual VL.Core.Viewer.IMouseEventHandler MouseDown(VL.Core.Viewer.VMouseEventArgs arg) { ... } } 
        VL.Lang.View.CanvasView { private void HandleMouseDown(object sender, VL.Core.Viewer.VMouseEventArgs e) { ... } } 
        VL.GraphicalEditor.Skia.GraphEditor { protected virtual void OnMouseDown(System.Windows.Forms.MouseEventArgs e) { ... } } 
        System.Windows.Forms.Control { protected virtual void WndProc(System.Windows.Forms.Message& m) { ... } } 
        VL.GraphicalEditor.Skia.GraphEditor { protected virtual void WndProc(System.Windows.Forms.Message& m) { ... } } 

Opening in 7.4 stable works just fine.

Repro steps :

  • Checkout GammaLauncher (I’m at 66f5e05bfb222529b2c55d482546e3d7611a9cb9)
  • Open the patch with 8.0-137

Merci et bon dimanche!

Thanks for the report, should be fixed in upcoming. Culprit was that your internal DeleteFolders was referenced as project and as dll. Project will take precedence from now on but you still might want to fix that reference maybe.

Thanks for the pointer @Elias, will fix that next week !