Water - value cannot be null - source

Just installed VS 19. Water 10.0.0.2525. Running on trial license.
Windows 10 pro build 18363.

Created first application in water.
Added a button and listbox using visual studio.
Tried to compile in visual studio and got the error message:

1>------ Build started: Project: FirstWinApp, Configuration: Debug AnyCPU ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\RemObjects Software\Elements\RemObjects.Elements.Echoes.targets(53,3): error : Value cannot be null.
1>Parameter name: source
1>Done building project “FirstWinApp.elements” – FAILED.
1>
1>Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

I then tried to build in water and got the error:>

“C:\Program Files (x86)\RemObjects Software\Oxygene\Bin\EBuild.exe” D:\Water\FirstWinApp\FirstWinApp.sln --logger:fire --configuration:Debug --goal:A8ECD34F-30CD-43C7-BC93-5F5FF8498984;Echoes --verbosity:normal --xml:D:\Water\FirstWinApp\obj\FirstWinApp.water.xml --build --setting:TreatFixableErrorsAsWarnings=True
RemObjects EBuild. An open source build engine for Elements and beyond.
Copyright RemObjects Software 2016-2020. All Rights Reserved. Created by marc hoffman.
Version 10.0.0.2525 (develop) built on talax, 20200619-143947. Commit 5394041.

E: Value cannot be null.
Parameter name: source
Project ‘FirstWinApp’ failed to build.
Solution ‘FirstWinApp’ failed to build project ‘FirstWinApp’.

I then tried to look at the settings for the project and got a “Oops. It seems that Water experienced an unexpected problem” message:

Value cannot be null.
Parameter name: source
at System.Linq.Enumerable.Where[TSource](IEnumerable1 source, Func2 predicate)
at RemObjects.Elements.Basics.EchoesPaths.LoadPaths()
at RemObjects.Elements.Basics.EchoesPaths.get_Instance()
at RemObjects.Fire.ProjectSystem.Settings.ProjectSettingsEchoesTargetFrameworkPicker.valuesForProject____configuration(Project project, String configurationName)
at RemObjects.Fire.ProjectSystem.Views.ProjectSettingsViewController.filterSettings()
at RemObjects.Fire.ProjectSystem.Views.ProjectSettingsViewController.dataChanged()
at RemObjects.Fire.ProjectSystem.Views.ProjectSettingsViewController…ctor(Project aProject)
at RemObjects.Fire.ProjectSystem.SettingsNode.get_viewController()
at RemObjects.Fire.App.SolutionDocumentWindowController.selectNode____byNavigatingBackwards__shouldActivate__forceReselect__clearForwardNavigationStack__metaData(Node item, Boolean byNavigatingBackwards, Boolean shouldActivate, Boolean force, Boolean clearStack, Dictionary2 metaData) at RemObjects.Fire.App.SolutionDocumentWindowController.treeController____hasSelectedNode__shouldActivate__clearForwardNavigationStack(TreeController treeController, Node node, Boolean shouldActivate, Boolean clearForwardNavigationStack) at RemObjects.Fire.App.TreeController.doSelectNode____shouldActivate__clearForwardNavigationStack(Node node, Boolean shouldActivate, Boolean clearForwardNavigationStack) at RemObjects.Fire.App.TreeController.selectNode____clearForwardNavigationStack(Node node, Boolean clearForwardNavigationStack) at RemObjects.Fire.App.BaseTreeView.TreeView_SelectedItemChanged(Object sender, RoutedPropertyChangedEventArgs1 e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.TreeView.ChangeSelection(Object data, TreeViewItem container, Boolean selected)
at System.Windows.Controls.TreeViewItem.Select(Boolean selected)
at System.Windows.Controls.TreeViewItem.OnGotFocus(RoutedEventArgs e)
at System.Windows.UIElement.IsFocused_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyPropertyKey key, Object value)
at System.Windows.Input.FocusManager.OnFocusedElementChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.Input.FocusManager.SetFocusedElement(DependencyObject element, IInputElement value)
at System.Windows.Input.KeyboardNavigation.UpdateFocusedElement(DependencyObject focusTarget)
at System.Windows.FrameworkElement.OnGotKeyboardFocus(Object sender, KeyboardFocusChangedEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.KeyboardDevice.ChangeFocus(DependencyObject focus, Int32 timestamp)
at System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(IInputElement element)
at System.Windows.UIElement.Focus()
at System.Windows.Controls.TreeViewItem.OnMouseLeftButtonDown(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Further information:

When I installed water, I got the error message:

I thought that it was an error when removing elements from Visual Studio 2010 which I don’t have installed, so I ignored the error.

I thought that I would share this just in case it is significant.

Mark.

I encountered this after having uninstalled/reinstalled partially the Windows 10 SDK that was on my computer.
This happened because I installed Delphi Seattle and unselected various options in the Windows 10 SDK installer that it starts at the end of its install process.
This was solved by reinstalling the Windows 10 SDK via the Visual Studio installer, but I believe you should be able to use a standalone installer as well.

Mark,

my sincerest apologies for this; I believe that’s an issue I fixed two weeks ago. I can send you a new build (2543) later today’s but in the mean time, the workaround be to manually create the following (empty) registry entry:

HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Roots.

FWIW, I expect all three errors are symptoms of the same bug. (what’s curious is that you’re one of only two people in the past years that did not automatically have that registry key present (the bug is that the code that read it didn’t properly handle when the key was not there))…

please let me know if adding the key fixes the issue for you, and either way I’ll have a new build for you later today.

—marc

Hello Marc,

Adding the key sorts out the problem. I am now able to compile and run the Hello world program which I was starting with.

Thanks for getting back to me with the correct answer so quickly.

OBones, many thanks for your input too.

Best regards
Mark

Cool, happy top hear!