Files
ARM64/eNavigator/Notes/notes.txt
2025-04-12 01:15:24 -04:00

281 lines
9.6 KiB
Plaintext
Executable File

**************** 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/