comment
Bolero is a functional, reactive web library built on top of Blazor for F# developers. It combines Elm's Model-View-Update architecture (MVU) via Elmish with powerful features pioneered by WebSharper, such as templating and easy remoting, to give developers a sound, effective and highly productive way to structure and implement full-stack .NET web applications that run on WebAssembly.
The Bolero homepage starts off with a video that shows you how to create your first client-server app with three simple commands:

Assuming you executed these commands in a simple shell (say, cmd on Windows), any issue hindering a successful run will show the following unceremonious output:
1 2 3 4 5
C:\fsbolero>cd MyApp3 && dotnet run -p src/MyApp3.Server C:\fsbolero\MyApp3\src\MyApp3.Client\Main.fs(233,12): warning FS0044: This construct is deprecated. Use withHotReload instead [C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj] C:\Users\Adam\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview7.19365.7\targets\Blazor.MonoRuntime.targets(633,5): error MSB3073: The command "dotnet "C:\Users\Adam\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview7.19365.7\targets\../tools/Microsoft.AspNetCore.Blazor.Build.dll" write-boot-json "obj\Debug\netstandard2.0\MyApp3.Client.dll" --references "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\bootjson-references.txt" --embedded-resources "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\embedded.resources.txt" --linker-enabled --output "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\blazor.boot.json"" exited with code -2147450730. [C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj] The build failed. Please fix the build errors and run again.
When this happens, and even in general, it's a good idea to add the -v n suffix to that last command to enable normal build output (or other debug levels as you need.)
For instance, now on an older machine I pulled out from the closet, I get the following more informative output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
C:\fsbolero\MyApp3>dotnet run -p src/MyApp3.Server -v n
Build started 9/3/2019 3:04:52 PM.
     1>Project "C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj" on node 1 (Restore target(s)).
     1>Restore:
         Committing restore...
         Committing restore...
         Assets file has not changed. Skipping assets file writing. Path: C:\fsbolero\MyApp3\src\MyApp3.Client\obj\project.assets.json
         Assets file has not changed. Skipping assets file writing. Path: C:\fsbolero\MyApp3\src\MyApp3.Server\obj\project.assets.json
         Restore completed in 46.92 ms for C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj.
         Restore completed in 46.92 ms for C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj.
         NuGet Config files used:
             C:\Users\Adam\AppData\Roaming\NuGet\NuGet.Config
             C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config
         Feeds used:
             https://api.nuget.org/v3/index.json
             https://daily.websharper.com/nuget
             C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
             https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore-tooling/index.json
             https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json
             https://dotnetfeed.blob.core.windows.net/aspnet-entityframeworkcore/index.json
             https://dotnetfeed.blob.core.windows.net/aspnet-extensions/index.json
             https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
             https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json
     1>Done Building Project "C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj" (Restore target(s)).
   1:7>Project "C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj" on node 1 (default targets).
     1>_CheckForNETCoreSdkIsPreview:
       C:\Program Files\dotnet\sdk\3.0.100-preview5-011568\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(157,5): message NETSDK1057: You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview [C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj]
   1:7>Project "C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj" (1:7) is building "C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj" (2:6) on node 1 (default targets).
     2>_HandlePackageFileConflicts:
       C:\Program Files\dotnet\sdk\3.0.100-preview5-011568\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets(39,5): message NETSDK1041: Encountered conflict between 'Reference:C:\Users\Adam\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Http.dll' and 'Reference:C:\Users\Adam\.nuget\packages\system.net.http\4.3.2\ref\netstandard1.3\System.Net.Http.dll'.  NETSDK1033: Choosing 'Reference:C:\Users\Adam\.nuget\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Http.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.1'. [C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj]
       GenerateTargetFrameworkMonikerAttribute:
       Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
       CoreGenerateAssemblyInfo:
       Skipping target "CoreGenerateAssemblyInfo" because all output files are up-to-date with respect to the input files.
       CoreCompile:
       Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files.
       _CopyFilesMarkedCopyLocal:
         Touching "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\MyApp3.Client.fsproj.CopyComplete".
       _CopyOutOfDateSourceItemsToOutputDirectory:
       Skipping target "_CopyOutOfDateSourceItemsToOutputDirectory" because all output files are up-to-date with respect to the input files.
       CopyFilesToOutputDirectory:
         MyApp3.Client -> C:\fsbolero\MyApp3\src\MyApp3.Client\bin\Debug\netstandard2.0\MyApp3.Client.dll
       _GenerateLinkerDescriptor:
       Skipping target "_GenerateLinkerDescriptor" because all output files are up-to-date with respect to the input files.
       _LinkBlazorApplication:
       Skipping target "_LinkBlazorApplication" because all output files are up-to-date with respect to the input files.
       _GenerateBlazorBootJson:
         dotnet "C:\Users\Adam\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview7.19365.7\targets\../tools/Microsoft.AspNetCore.Blazor.Build.dll" write-boot-json "obj\Debug\netstandard2.0\MyApp3.Client.dll" --references "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\bootjson-references.txt" --embedded-resources "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\embedded.resources.txt" --linker-enabled --output "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\blazor.boot.json"
         It was not possible to find any compatible framework version
         The specified framework 'Microsoft.NETCore.App', version '3.0.0-preview7-27912-14' was not found.
           - The following frameworks were found:
               2.0.6 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
               2.0.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
               2.1.2 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
               2.1.4 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
               2.1.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
               2.2.3 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
               3.0.0-preview5-27626-15 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
         You can resolve the problem by installing the specified framework and/or SDK.
         The .NET Core frameworks can be found at:
           - https://aka.ms/dotnet-download
     2>C:\Users\Adam\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview7.19365.7\targets\Blazor.MonoRuntime.targets(633,5): error MSB3073: The command "dotnet "C:\Users\Adam\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview7.19365.7\targets\../tools/Microsoft.AspNetCore.Blazor.Build.dll" write-boot-json "obj\Debug\netstandard2.0\MyApp3.Client.dll" --references "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\bootjson-references.txt" --embedded-resources "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\embedded.resources.txt" --linker-enabled --output "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\blazor.boot.json"" exited with code -2147450730. [C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj]
     2>Done Building Project "C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj" (default targets) -- FAILED.
     1>Done Building Project "C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj" (default targets) -- FAILED.
Build FAILED.
       "C:\fsbolero\MyApp3\src\MyApp3.Server\MyApp3.Server.fsproj" (default target) (1:7) ->
       "C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj" (default target) (2:6) ->
       (_GenerateBlazorBootJson target) ->
         C:\Users\Adam\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview7.19365.7\targets\Blazor.MonoRuntime.targets(633,5): error MSB3073: The command "dotnet "C:\Users\Adam\.nuget\packages\microsoft.aspnetcore.blazor.build\3.0.0-preview7.19365.7\targets\../tools/Microsoft.AspNetCore.Blazor.Build.dll" write-boot-json "obj\Debug\netstandard2.0\MyApp3.Client.dll" --references "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\bootjson-references.txt" --embedded-resources "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\embedded.resources.txt" --linker-enabled --output "C:\fsbolero\MyApp3\src\MyApp3.Client\obj\Debug\netstandard2.0\blazor\blazor.boot.json"" exited with code -2147450730. [C:\fsbolero\MyApp3\src\MyApp3.Client\MyApp3.Client.fsproj]
    0 Warning(s)
    1 Error(s)
Time Elapsed 00:00:02.07
The build failed. Please fix the build errors and run again.Installing the right .NET Core SDK
Tucked away in the source repository, in the main README file, there is a short section that details what you need to compile and run Bolero itself:
1
- .NET Core SDK 3.0-preview7 or newer. Download it [here](https://dotnet.microsoft.com/download/dotnet-core/3.0).
Not surprisingly, this same dependency applies to your Bolero applications as well. The normal build output we saw above already listed my installed frameworks, but if I need to, I can also quickly check separately:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
C:\fsbolero>dotnet --info .NET Core SDK (reflecting any global.json): Version: 3.0.100-preview5-011568 Commit: b487ff10aa Runtime Environment: OS Name: Windows OS Version: 10.0.17134 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\3.0.100-preview5-011568\ Host (useful for support): Version: 3.0.0-preview5-27626-15 Commit: 61f30f5a23 .NET Core SDKs installed: 2.1.104 [C:\Program Files\dotnet\sdk] 2.1.202 [C:\Program Files\dotnet\sdk] 2.1.302 [C:\Program Files\dotnet\sdk] 2.1.402 [C:\Program Files\dotnet\sdk] 2.1.505 [C:\Program Files\dotnet\sdk] 2.1.602 [C:\Program Files\dotnet\sdk] 2.1.700-preview-009597 [C:\Program Files\dotnet\sdk] 2.1.700-preview-009601 [C:\Program Files\dotnet\sdk] 2.2.202 [C:\Program Files\dotnet\sdk] 2.2.300-preview-010046 [C:\Program Files\dotnet\sdk] 2.2.300-preview-010050 [C:\Program Files\dotnet\sdk] 3.0.100-preview5-011568 [C:\Program Files\dotnet\sdk] .NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] ... ...
Heading over to the Microsoft .NET Core download page and installing preview7 resolves the issue, and the vanilla Bolero template app now works as expected.
Happy coding!






