


**************** PUBLISHING
pi@Dia:~/ARM64/eNavigator $ dotnet publish -c Release
dotnet publish -c Release
I might not understand this all correctly but I got it to work.
when you dotnet publish -c Release 
There will be output here..
/home/pi/Projects/Blazor/eNavigator/eNavigatorUI/bin/Release/net8.0
There is a publish folder as well as a wwroot folder
open the publish folder and then the wwroot folder within
copy the contents of this (wwroot) folder to /var/www/html on the apache server
sudo cp -r --verbose /home/pi/Media/Boneyard/publish/wwwroot/* .
sudo cp --verbose -r /home/pi/Media/Boneyard/wwwroot/_framework .

now look at the wwwroot folder and notice that there is also a _framework folder here as well
copy this _framework folder to /var/www/html (yes overwriting the previous _framework that you copied)

restart the apache web server 
sudo service apache2 restart
goto web site http://www.diversified-software.com
all should be working.


**************************


http://www.diversified-software.com:3000/
s

**** Configuration
https://medium.com/@sdbala/net-core-configuration-in-net-8-4a8365f24ff1

***** Configuration

*********************** SOLUTION CREATION **********************

dotnet new sln -o MyApiApp
The -o parameter lets you specify the output directory

Navigate to solution direction

Cd .\MyApiApp\ 
Create new projects under root solution folder

dotnet new console -o MyApiApp.ConsoleApp
dotnet new webapi -o MyApiApp.WebApi 
dotnet new classlib -o MyApiApp.Repository 
dotnet new xunit -o MyApiApp.Tests
Add projects to solution (use tab to navigate path).

dotnet sln MyApiApp.sln add .\MyApiApp.ConsoleApp\MyApiApp.ConsoleApp.csproj .\MyApiApp.WebApi\MyApiApp.WebApi.csproj .\MyApiApp.Repository\MyApiApp.Repository.csproj .\MyApiApp.Tests\MyApiApp.Tests.csproj 



******







Virtualization
https://www.daveabrock.com/2020/10/20/blazor-component-virtualization/

********* Apex Charts ******
https://github.com/apexcharts/Blazor-ApexCharts


Apex Line Charts
https://apexcharts.com/docs/chart-types/line-chart

// *********************************************


MudBlazor NuGet
https://www.nuget.org/packages/MudBlazor/

********* MudBlazor *************
Theme
https://putridparrot.com/blog/using-mudblazor-component-library/

https://crispycode.net/exploring-the-mudthemeprovider-in-mudblazor/
https://www.sitepoint.com/understanding-and-using-rem-units-in-css/


************ Mud Blazor Line Chart Notes **********
https://github.com/MudBlazor/MudBlazor/discussions/6054

Line Chart - https://www.mudblazor.com/components/linechart#basic-usage
https://mudblazor.com/components/linechart
Changing Color in Line Chart 
https://stackoverflow.com/questions/69848419/changing-appearance-of-mudblazor-chart
https://github.com/MudBlazor/MudBlazor/discussions/7582
https://stackoverflow.com/questions/69848419/changing-appearance-of-mudblazor-chart
https://www.mudblazor.com/components/linechart#basic-usage
*********************************


******** Blazor Authentication Routing *********
https://stackoverflow.com/questions/60840986/blazor-redirect-to-login-if-user-is-not-authenticated
https://learn.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/standalone-with-authentication-library?view=aspnetcore-3.1&tabs=visual-studio
https://sqlpey.com/dotnet/solved-how-to-redirect-to-login-page-in-blazor-when-user-is-not-authenticated/#solved--how-to-redirect-to-login-page-in-blazor-when-user-is-not-authenticated

This one illistrates customizing the AuthenticationStateProvider
https://stackoverflow.com/questions/57639545/blazor-adding-a-custom-authenticationstateprovider-in-startup-cs-not-recognized
https://vectorlinux.com/blazor-redirect-to-login-page/

******************************************


** Unable to attach to debugger **
In the settings.json file of the UI project add the following.
{
"debug.javascript.usePreview": false
}
**



HttpClient
https://www.pragimtech.com/blog/blazor-webAssembly/httpclient-in-blazor-webassembly/
https://www.pragimtech.com/blog/blazor-webAssembly/httpclient-in-blazor-webassembly/

// Install DotNet 8 SDK

This will install dotnet 8 SDK
https://www.petecodes.co.uk/install-and-use-microsoft-dot-net-8-with-the-raspberry-pi/
wget -O - https://raw.githubusercontent.com/pjgpetecodes/dotnet8pi/main/install.sh | sudo bash


// Razor language server installation
https://www.google.com/search?q=how+to+install+razor+language+server+on+rasberry+pi&oq=how+to+install+razor+language+server+on+rasberry+pi&gs_lcrp=EgZjaHJvbWUyBggAEEUYOdIBCTE3NzA3ajBqN6gCCLACAQ&sourceid=chrome&ie=UTF-8
dotnet tool install --global --tool-path . --add-to-path --version 8.0.100-preview.1.24110.1 razor-language-server

/// ARCHITECTURE STUFF
https://www.google.com/search?q=how+do+i+run+a+binary+that+requires+%2Flib%2Fld-linux-aarch64.so.1+on+my+rasberry+pi&oq=how+do+i+run+a+binary+that+requires+%2Flib%2Fld-linux-aarch64.so.1+on+my+rasberry+pi&gs_lcrp=EgZjaHJvbWUqBggAEEUYOzIGCAAQRRg7MgYIARBFGEDSAQkxMzIxNGowajSoAgCwAgE&sourceid=chrome&ie=UTF-8


// CREATE A CLASS LIBRARY PROJECT IN DOTNET

$ dotnet new lib -o MyLib
$ dotnet new classlib -o MyLib
$ dotnet new sln #assuming there is no .sln file yet. if there is, skip this
$ dotnet sln add MyLib/MyLib.csproj
$ cd MyConsoleApp
$ dotnet add reference ../MyLib/MyLib.csproj

// *****************************************************************************************************************tt`
// ******************************************************************************************************************
Add a package example .  You must be in the directory where the project is defined
dotnet add MarketDataLib.csproj package NewtonSoft.Json

Add project reference
Youy would do this being in the directory that will receive the project reference
dotnet add {reference} ../Project1.Api/Project1.Api.csproj



// cli stuff
// build : dot net build
// run : dotnet watch run
// dotnet new razorcomponent -n Login -o Pages  : add a new page
// dotnet run
// dotnet clean
// dotnet build --configuration Debug
// dotnet run --configuration Debug
//doesn't work dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.2.0 (or the latest template)
//not working dotnet new --install Microsoft.AspNetCore.Blazor.Templates::3.2.0-preview1.20073.1
// dotnet new blazorwasm -n MyBlazorApp
//https://khalidabuhakmeh.com/troubleshooting-dotnet-blazor-wasm-debugging


C# Base Language Support for C#
Microsoft.AspNetCore.Razor.VSCode.BlazorWasmDebuggingExtension
C# Extension C# IDE Extensions for VSCode

https://khalidabuhakmeh.com/troubleshooting-dotnet-blazor-wasm-debugging

dotnet run --environment=Development

https://www.exceptionnotfound.net/working-with-environments-and-launch-settings-in-asp-net-core/





https://dotnet.microsoft.com/en-us/download/dotnet/8.0


**********************************************************************************************************************************************************************
** Here is what works
*********************************************************************************************************************************************************************
run the profile first
dotnet run --launch-profile "eNavigator"
then run this debug profile "Blazor WebAssembly Debug (Launch)"


** eNavigator Launch Profile **  in launchSettings.json
  "profiles": {
    "eNavigator": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:7062",
      "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },

** For debugging **
    {
      "type": "chrome",
      "name": "Blazor WebAssembly Debug (Launch)",
      "request": "launch",
      "url": "http://localhost:7062",
      "port": 7062,
      "inspectUri": "{wsProtocol}://localhost:7062/_framework/debug/ws-proxy?browser={browserInspectUri}",
      "runtimeExecutable": "/usr/bin/chromium-browser",
      "runtimeArgs": [
        "--remote-debugging-port=9222",
        "--user-data-dir=${workspaceFolder}/.vscode/chrome-debug"
      ]
//      "timeout": 60000, // Add a timeout of 60 seconds
//      "preLaunchTask": "runBlazorAppWithDelay",
      // "postDebugTask": "cleanup"
    },




*****************************************************************************************************
OmniSharp requires mon0.  OmniSharp is C# for Visual Studio Code (powered by OmniSharp)
It provides syntax hilighting and intellisense
sudo apt-get --purge remove mono-runtime
sudo apt-get autoremove
sudo apt update
sudo apt install mono-complete


to check if mono is installed type mono --version
I have 6.8.0.105

as of 3/9/2025 6.12.0 is the most currnt version

left click on c# and click settings

then put this in the settings search bar
@ext:ms-dotnettools.csharp omnisharp

I opened an issue with c# extension over on the github
https://github.com/dotnet/vscode-csharp/issues/8054

https://www.google.com/search?q=how+to+manually+install+omnisharp+on+raspi&oq=how+to+manually+i&gs_lcrp=EgZjaHJvbWUqBggAEEUYOzIGCAAQRRg7MgYIARBFGDnSAQg3MDk1ajBqN6gCCLACAQ&sourceid=chrome&ie=UTF-8


https://marketplace.visualstudio.com/

****************************************************************************************

mono
I l have verion 6.8 running.  I need 6.12 because it comes with msbuild

sudo apt-get --purge remove mono-runtime
sudo apt-get autoremove

I installed mono 6.12 using instructions from here.
https://www.mono-project.com/download/stable/#download-lin-raspbian

****************************************************************************************
Next, 

OmniSharp Roslyn release page

https://github.com/OmniSharp/omnisharp-roslyn/releases/


