1

I've been having a problem getting a modified bolero app to perform HotReload. The problem appears to be in bolero-live as indicated by this top portion of the error log (line break inserted for convenience). However, the source code for bolero-live does not appear to be available despite the presence of its reference library code for the client and server projects, on github. I welcome any insight.

fail: Microsoft.AspNetCore.Server.Kestrel[13]
      Connection id "0HLTL27BTITCT", Request id "0HLTL27BTITCT:00000001": 
      An unhandled exception was thrown by the application.
System.IO.DirectoryNotFoundException: 
      Could not find a part of the path '
          /mnt/drive1/testproj/test1/src/test1.Serve/bin/Debug
            /netstandard2.0/dist/_framework/_bin/test1.Client.dll
          '
   at Interop.ThrowExceptionForIoErrno(
          ErrorInfo errorInfo, String path, Boolean isDirectory 
          ,Func`2 errorRewriter
          )
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(
          String path, OpenFlags flags, Int32 mode
          )
   at System.IO.FileStream..ctor(
          String path, FileMode mode, FileAccess access, 
          FileShare share, Int32 bufferSize, FileOptions options
          )
   at System.IO.FileStream..ctor(
          String path, FileMode mode, FileAccess access
          ,FileShare share
          )
   at System.IO.File.InternalWriteAllBytes(String path, Byte[] bytes)
   at System.IO.File.WriteAllBytes(String path, Byte[] bytes)
   at Elmish.HotReload.Bolero.Cli.ListenerController.Update() in
          /root/TeamCity/buildAgent/work/bbeb18eb622e1e0d/src
             /bolero-live/ListenerController.fs
          :line 39
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor
          .AwaitableResultExecutor.Execute(
            IActionResultTypeMapper mapper
            ,ObjectMethodExecutor executor
            ,Object controller, Object[] arguments
            )
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker
          .InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker
          .InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker
          .Rethrow(ActionExecutedContext context)
George
  • 2,451
  • 27
  • 37

2 Answers2

1

bolero-live is different than the Bolero HotReload Templating implementation. bolero-live is supposed to reload the underlying dll as well, not just the front end. You can find the source code here

It unfortunately has not been heavily maintained or kept up to date with the latest Bolero versions (mostly as I've not had time to maintain it). The exception seems to indicate that the cli tool itself cannot find the newly made dll from FCSWatch.

Tyler Hartwig
  • 620
  • 1
  • 5
  • 17
  • `FCSWatch` appears to have been updated to per `0.7.9 - 2019-05-15` to specifically embrace Bolero. However, it is expressing the exact same issue. :) – George Feb 19 '20 at 22:15
  • 1
    The update in that release was to reload the distribution files for Bolero, yes, but it still requires a refresh to see the update. `bolero-live` enables hot-reloading without the need for a refresh. – Tyler Hartwig Feb 24 '20 at 15:52
0

bolero-live seems to be merely FCSWatch on github.com

George
  • 2,451
  • 27
  • 37