Blazor as front
nicolas63 opened this issue · comments
Give the possibility to choose blazor for the frontend framework with this we can have full stack .NET
The first goal is to have a sample app with login and entities pages
If you are interested : https://github.com/nicolas63/JhipsterBlazor
@jdubois, @deepu105 , @pascalgrimaud . I Have work on sample application using Blazor ( an .net framework for create front app with web assembly). I'll soon have the minimum functions for create generator. But what is better, add this options in this blueprint or create an other blueprint juste for the Blazor front ?
Separate blueprint will be better IMO
Yes, but there are certain logics that can be shared such as the C# naming convention, solution management, etc. If I create a new blueprint , maybe this logic can be extracted in another package like jhipster core ?
One of the advantages of using .net on both the client and server side is the ability to share code.
Does it make sense to create another blueprint if I want to share code on the generated application ?
Okay, I think that's a good solution. Thank you @danielpetisme
yes it is possible ?
hello @mraible,
I think this issue is well advanced.
The documentation is missing but I will add it soon.
Today I can generate a blazor application (only JWT) with UT, entities with any kind of relationship and DTO.
Do you see anything else to do to validate this issue ?
Can you provide the steps to create an app with this feature to test it?
Yes, you can use main branch to test it
First you must install
Dotnet 5: https://dotnet.microsoft.com/download/dotnet/5.0
Libman: dotnet tool install -g Microsoft.Web.LibraryManager.Cli
WebCompiler: dotnet tool install Excubo.WebCompiler --global
Run the generation and choose Blazor for the front or use this:
{
"generator-jhipster": {
"namespace": "YourAppName",
"applicationType": "monolith",
"databaseType": "sqllite",
"authenticationType": "jwt",
"serverPort": "5000",
"prodDatabaseType": "mysql",
"jhipsterVersion": "6.10.5",
"baseName": "YourAppName",
"useSass": true,
"clientPackageManager": "npm",
"clientFramework": "Blazor",
"clientTheme": "none",
"clientThemeVariant": "",
"creationTimestamp": 1607802418487,
"testFrameworks": [],
"jhiPrefix": "jhi",
"entitySuffix": "",
"dtoSuffix": "DTO",
"otherModules": [
{
"name": "generator-jhipster-dotnetcore",
"version": "2.0.1"
}
],
"enableTranslation": false,
"blueprints": [
{
"name": "generator-jhipster-dotnetcore",
"version": "2.0.1"
}
]
}
}
You can also add entities like
entity Region {
regionName String
}
entity Country {
countryName String
}
// an ignored comment
/** not an ignored comment */
entity Location {
streetAddress String,
postalCode String,
city String,
stateProvince String
}
entity Department {
departmentName String required
}
/**
* PieceOfWork entity.
* @author The JHipster team.
*/
entity PieceOfWork {
title String,
description String
}
/**
* The Employee entity.
*/
entity Employee {
/**
* The firstname attribute.
*/
firstName String,
lastName String,
email String,
phoneNumber String,
hireDate Instant,
salary Long,
commissionPct Long
}
entity Job {
jobTitle String,
minSalary Long,
maxSalary Long
}
entity JobHistory {
startDate Instant,
endDate Instant
}
enum Language {
FRENCH, ENGLISH, SPANISH
}
relationship OneToOne {
Country{region} to Region
}
relationship OneToOne {
Location{country} to Country
}
relationship OneToOne {
Department{location} to Location
}
// defining multiple OneToMany relationships with comments
relationship OneToMany {
Employee to Job{employee},
/**
* A relationship
*/
Department to
/**
* Another side of the same relationship
*/
Employee{department}
}
relationship ManyToOne {
Employee{manager} to Employee
}
// defining multiple oneToOne relationships
relationship OneToOne {
JobHistory{job} to Job,
JobHistory{department} to Department,
JobHistory{employee} to Employee
}
// Use Data Transfert Objects (DTO)
dto * with mapstruct
// Set service options to all except few
service all with serviceImpl except Employee, Job
Now you can run the application
For the back cd ./src/YourAppName
And run dotnet run
For the front cd ./src/client/YourAppName.Client
And run also dotnet run
When the application is running go on https://localhost:4901
Your have now a front with blazor webassembly 😃
You can also run UT from root folder with dotnet test
@nicolas63 I'm a n00b when it comes to .NET and this blueprint. :)
I installed the .NET SDK using Homebrew:
brew cask install dotnet-sdk
I was able to generate an app OK using a .yo-rc.json
similar to the one provided above.
{
"generator-jhipster": {
"namespace": "blazor",
"applicationType": "monolith",
"databaseType": "sqllite",
"authenticationType": "jwt",
"serverPort": "5000",
"prodDatabaseType": "mysql",
"jhipsterVersion": "6.10.5",
"baseName": "Blazor",
"useSass": true,
"clientPackageManager": "npm",
"clientFramework": "Blazor",
"clientTheme": "none",
"clientThemeVariant": "",
"creationTimestamp": 1607802418487,
"testFrameworks": [],
"jhiPrefix": "jhi",
"entitySuffix": "",
"dtoSuffix": "DTO",
"otherModules": [
{
"name": "generator-jhipster-dotnetcore",
"version": "2.0.1"
}
],
"enableTranslation": false,
"blueprints": [
{
"name": "generator-jhipster-dotnetcore",
"version": "2.0.1"
}
]
}
}
However, when I create an entities.jdl
from the file above and try to import it, it yields a couple of errors.
➜ blazor git:(master) ✗ jhipster import-jdl entities.jdl
INFO! Using JHipster version installed globally
INFO! No custom sharedOptions found within blueprint: generator-jhipster-dotnetcore at /usr/local/lib/node_modules/generator-jhipster-dotnetcore
INFO! No custom commands found within blueprint: generator-jhipster-dotnetcore at /usr/local/lib/node_modules/generator-jhipster-dotnetcore
INFO! Executing import-jdl entities.jdl
INFO! Found .yo-rc.json on path. This is an existing app
INFO! The JDL is being parsed.
INFO! Found entities: Region, Country, Location, Department, PieceOfWork, Employee.
INFO! The JDL has been successfully parsed
INFO! Generating 6 entities.
info Using blueprint generator-jhipster-dotnetcore for entity subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity subgenerator
Found the .jhipster/Region.json configuration file, entity can be automatically generated!
The entity Region is being updated.
Found the .jhipster/Country.json configuration file, entity can be automatically generated!
The entity Country is being updated.
Found the .jhipster/Location.json configuration file, entity can be automatically generated!
The entity Location is being updated.
Found the .jhipster/Department.json configuration file, entity can be automatically generated!
The entity Department is being updated.
Found the .jhipster/PieceOfWork.json configuration file, entity can be automatically generated!
The entity PieceOfWork is being updated.
Found the .jhipster/Employee.json configuration file, entity can be automatically generated!
The entity Employee is being updated.
info Using blueprint generator-jhipster-dotnetcore for entity-server subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-client subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-i18n subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-server subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-client subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-i18n subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-server subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-client subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-i18n subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-server subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-client subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-i18n subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-server subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-client subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-i18n subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-server subgenerator
info Using blueprint generator-jhipster-dotnetcore for entity-client subgenerator
Running `webpack:build` to update client app
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /Users/mraible/blazor/src/client/Blazor.Client/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/Users/mraible/blazor/src/client/Blazor.Client/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/mraible/.npm/_logs/2020-12-14T22_27_57_528Z-debug.log
info Using blueprint generator-jhipster-dotnetcore for entity-i18n subgenerator
create src/Blazor.Domain/Entities/Region.cs
create src/Blazor/Controllers/RegionController.cs
create src/Blazor.Domain/Repositories/Interfaces/IRegionRepository.cs
create src/Blazor.Infrastructure/Data/Repositories/RegionRepository.cs
force src/Blazor/Configuration/AutoMapper/AutoMapperProfile.cs
force src/Blazor.Infrastructure/Data/ApplicationDatabaseContext.cs
create test/Blazor.Test/Controllers/RegionResourceIntTest.cs
create src/client/Blazor.Client/Models/RegionModel.cs
create src/client/Blazor.Client/Services/EntityServices/Region/RegionService.cs
create src/client/Blazor.Client/Services/EntityServices/Region/IRegionService.cs
create src/client/Blazor.Client/Pages/Entities/Region/Region.razor.cs
create src/client/Blazor.Client/Pages/Entities/Region/Region.razor
create src/client/Blazor.Client/Pages/Entities/Region/RegionDetail.razor.cs
create src/client/Blazor.Client/Pages/Entities/Region/RegionDetail.razor
create src/client/Blazor.Client/Pages/Entities/Region/RegionUpdate.razor.cs
create src/client/Blazor.Client/Pages/Entities/Region/RegionUpdate.razor
create test/Blazor.Client.Test/Pages/Entities/Region/RegionTest.cs
create test/Blazor.Client.Test/Pages/Entities/Region/RegionUpdateTest.cs
create test/Blazor.Client.Test/Pages/Entities/Region/RegionDetailTest.cs
force src/client/Blazor.Client/Shared/NavMenu.razor
force src/client/Blazor.Client/Program.cs
force src/client/Blazor.Client/AutoMapper/AutoMapperProfile.cs
create src/Blazor.Domain/Entities/Country.cs
create src/Blazor/Controllers/CountryController.cs
create src/Blazor.Domain/Repositories/Interfaces/ICountryRepository.cs
create src/Blazor.Infrastructure/Data/Repositories/CountryRepository.cs
create test/Blazor.Test/Controllers/CountryResourceIntTest.cs
create src/client/Blazor.Client/Models/CountryModel.cs
create src/client/Blazor.Client/Services/EntityServices/Country/CountryService.cs
create src/client/Blazor.Client/Services/EntityServices/Country/ICountryService.cs
create src/client/Blazor.Client/Pages/Entities/Country/Country.razor.cs
create src/client/Blazor.Client/Pages/Entities/Country/Country.razor
create src/client/Blazor.Client/Pages/Entities/Country/CountryDetail.razor.cs
create src/client/Blazor.Client/Pages/Entities/Country/CountryDetail.razor
create src/client/Blazor.Client/Pages/Entities/Country/CountryUpdate.razor.cs
create src/client/Blazor.Client/Pages/Entities/Country/CountryUpdate.razor
create test/Blazor.Client.Test/Pages/Entities/Country/CountryTest.cs
create test/Blazor.Client.Test/Pages/Entities/Country/CountryUpdateTest.cs
create test/Blazor.Client.Test/Pages/Entities/Country/CountryDetailTest.cs
create src/Blazor.Domain/Entities/Location.cs
create src/Blazor/Controllers/LocationController.cs
create src/Blazor.Domain/Repositories/Interfaces/ILocationRepository.cs
create src/Blazor.Infrastructure/Data/Repositories/LocationRepository.cs
create test/Blazor.Test/Controllers/LocationResourceIntTest.cs
create src/client/Blazor.Client/Models/LocationModel.cs
create src/client/Blazor.Client/Services/EntityServices/Location/LocationService.cs
create src/client/Blazor.Client/Services/EntityServices/Location/ILocationService.cs
create src/client/Blazor.Client/Pages/Entities/Location/Location.razor.cs
create src/client/Blazor.Client/Pages/Entities/Location/Location.razor
create src/client/Blazor.Client/Pages/Entities/Location/LocationDetail.razor.cs
create src/client/Blazor.Client/Pages/Entities/Location/LocationDetail.razor
create src/client/Blazor.Client/Pages/Entities/Location/LocationUpdate.razor.cs
create src/client/Blazor.Client/Pages/Entities/Location/LocationUpdate.razor
create test/Blazor.Client.Test/Pages/Entities/Location/LocationTest.cs
create test/Blazor.Client.Test/Pages/Entities/Location/LocationUpdateTest.cs
create test/Blazor.Client.Test/Pages/Entities/Location/LocationDetailTest.cs
create src/Blazor.Domain/Entities/Department.cs
create src/Blazor/Controllers/DepartmentController.cs
create src/Blazor.Domain/Repositories/Interfaces/IDepartmentRepository.cs
create src/Blazor.Infrastructure/Data/Repositories/DepartmentRepository.cs
create test/Blazor.Test/Controllers/DepartmentResourceIntTest.cs
create src/client/Blazor.Client/Models/DepartmentModel.cs
create src/client/Blazor.Client/Services/EntityServices/Department/DepartmentService.cs
create src/client/Blazor.Client/Services/EntityServices/Department/IDepartmentService.cs
create src/client/Blazor.Client/Pages/Entities/Department/Department.razor.cs
create src/client/Blazor.Client/Pages/Entities/Department/Department.razor
create src/client/Blazor.Client/Pages/Entities/Department/DepartmentDetail.razor.cs
create src/client/Blazor.Client/Pages/Entities/Department/DepartmentDetail.razor
create src/client/Blazor.Client/Pages/Entities/Department/DepartmentUpdate.razor.cs
create src/client/Blazor.Client/Pages/Entities/Department/DepartmentUpdate.razor
create test/Blazor.Client.Test/Pages/Entities/Department/DepartmentTest.cs
create test/Blazor.Client.Test/Pages/Entities/Department/DepartmentUpdateTest.cs
create test/Blazor.Client.Test/Pages/Entities/Department/DepartmentDetailTest.cs
create src/Blazor.Domain/Entities/PieceOfWork.cs
create src/Blazor/Controllers/PieceOfWorkController.cs
create src/Blazor.Domain/Repositories/Interfaces/IPieceOfWorkRepository.cs
create src/Blazor.Infrastructure/Data/Repositories/PieceOfWorkRepository.cs
create test/Blazor.Test/Controllers/PieceOfWorkResourceIntTest.cs
create src/client/Blazor.Client/Models/PieceOfWorkModel.cs
create src/client/Blazor.Client/Services/EntityServices/PieceOfWork/PieceOfWorkService.cs
create src/client/Blazor.Client/Services/EntityServices/PieceOfWork/IPieceOfWorkService.cs
create src/client/Blazor.Client/Pages/Entities/PieceOfWork/PieceOfWork.razor.cs
create src/client/Blazor.Client/Pages/Entities/PieceOfWork/PieceOfWork.razor
create src/client/Blazor.Client/Pages/Entities/PieceOfWork/PieceOfWorkDetail.razor.cs
create src/client/Blazor.Client/Pages/Entities/PieceOfWork/PieceOfWorkDetail.razor
create src/client/Blazor.Client/Pages/Entities/PieceOfWork/PieceOfWorkUpdate.razor.cs
create src/client/Blazor.Client/Pages/Entities/PieceOfWork/PieceOfWorkUpdate.razor
create test/Blazor.Client.Test/Pages/Entities/PieceOfWork/PieceOfWorkTest.cs
create test/Blazor.Client.Test/Pages/Entities/PieceOfWork/PieceOfWorkUpdateTest.cs
create test/Blazor.Client.Test/Pages/Entities/PieceOfWork/PieceOfWorkDetailTest.cs
create src/Blazor.Domain/Entities/Employee.cs
create src/Blazor/Controllers/EmployeeController.cs
create src/Blazor.Domain/Repositories/Interfaces/IEmployeeRepository.cs
create src/Blazor.Infrastructure/Data/Repositories/EmployeeRepository.cs
create test/Blazor.Test/Controllers/EmployeeResourceIntTest.cs
create src/client/Blazor.Client/Models/EmployeeModel.cs
create src/client/Blazor.Client/Services/EntityServices/Employee/EmployeeService.cs
create src/client/Blazor.Client/Services/EntityServices/Employee/IEmployeeService.cs
create src/client/Blazor.Client/Pages/Entities/Employee/Employee.razor.cs
create src/client/Blazor.Client/Pages/Entities/Employee/Employee.razor
create src/client/Blazor.Client/Pages/Entities/Employee/EmployeeDetail.razor.cs
create src/client/Blazor.Client/Pages/Entities/Employee/EmployeeDetail.razor
create src/client/Blazor.Client/Pages/Entities/Employee/EmployeeUpdate.razor.cs
create src/client/Blazor.Client/Pages/Entities/Employee/EmployeeUpdate.razor
create test/Blazor.Client.Test/Pages/Entities/Employee/EmployeeTest.cs
create test/Blazor.Client.Test/Pages/Entities/Employee/EmployeeUpdateTest.cs
create test/Blazor.Client.Test/Pages/Entities/Employee/EmployeeDetailTest.cs
force .jhipster/Region.json
force .jhipster/Country.json
force .jhipster/Location.json
force .jhipster/Department.json
force .jhipster/PieceOfWork.json
force .jhipster/Employee.json
Entity Region generated successfully.
Entity Country generated successfully.
Entity Location generated successfully.
Entity Department generated successfully.
Entity PieceOfWork generated successfully.
Running `webpack:build` to update client app
Entity Employee generated successfully.
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /Users/mraible/blazor/src/client/Blazor.Client/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/Users/mraible/blazor/src/client/Blazor.Client/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/mraible/.npm/_logs/2020-12-14T22_27_58_151Z-debug.log
INFO! Congratulations, JHipster execution is complete!
Execution time: 11 s.
The package.json
does seem to be missing. Output from ls -la /Users/mraible/blazor/src/client/Blazor.Client/
:
total 64
drwxr-xr-x 17 mraible staff 544 Dec 14 15:28 .
drwxr-xr-x 4 mraible staff 128 Dec 14 15:24 ..
-rw-r--r-- 1 mraible staff 853 Dec 14 15:24 App.razor
-rw-r--r-- 1 mraible staff 268 Dec 14 15:24 App.razor.cs
drwxr-xr-x 3 mraible staff 96 Dec 14 15:24 AutoMapper
-rw-r--r-- 1 mraible staff 5805 Dec 14 15:24 Blazor.Client.csproj
drwxr-xr-x 12 mraible staff 384 Dec 14 15:27 Models
drwxr-xr-x 10 mraible staff 320 Dec 14 15:27 Pages
-rw-r--r-- 1 mraible staff 3259 Dec 14 15:27 Program.cs
drwxr-xr-x 3 mraible staff 96 Dec 14 15:24 Properties
drwxr-xr-x 7 mraible staff 224 Dec 14 15:24 Services
drwxr-xr-x 8 mraible staff 256 Dec 14 15:24 Shared
-rw-r--r-- 1 mraible staff 456 Dec 14 15:24 _Imports.razor
-rw-r--r-- 1 mraible staff 3359 Dec 14 15:24 libman.json
drwxr-xr-x 7 mraible staff 224 Dec 14 15:28 obj
-rw-r--r-- 1 mraible staff 27 Dec 14 15:24 package-lock.json
drwxr-xr-x 6 mraible staff 192 Dec 14 15:28 wwwroot
On the upside, dotnet test
works!
Passed! - Failed: 0, Passed: 104, Skipped: 0, Total: 104, Duration: 1 m 43 s - /Users/mraible/blazor/test/Blazor.Test/bin/Debug/net5.0/Blazor.Test.dll (net5.0)
Execution time: 2 min. 39 s.
Oh yes ! It's my bad i have forgot to not launch webpack build here (https://github.com/jhipster/jhipster-dotnetcore/blob/main/generators/entity-client/index.js#L50)
I will fix it. But your application works
I tried again today. The first thing I noticed is several warnings (I have JHipster v6.10.5 installed).
WARNING! Deprecated: JHipster seems to be invoked using Yeoman command. Please use the JHipster CLI. Run jhipster <command> instead of yo jhipster:<command>
I ran the tests as the blueprint suggested:
dotnet test --list-tests --verbosity normal
This resulted in a couple errors:
Build FAILED.
"/Users/mraible/blazor/Blazor.sln" (VSTest target) (1:2) ->
"/Users/mraible/blazor/test/Blazor.Client.Test/Blazor.Client.Test.csproj" (VSTest target) (9:6) ->
"/Users/mraible/blazor/test/Blazor.Client.Test/Blazor.Client.Test.csproj" (default target) (9:7) ->
"/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj" (default target) (11:9) ->
(RestoreFrontEndLibraries target) ->
/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj(72,5): error : /var/folders/f7/5x4rvsr5599ffnfckn487nzm0000gn/T/tmp8105ddf01f954ac7ac6640ee75b36e2a.exec.cmd: line 2: libman: command not found
/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj(72,5): error MSB3073: The command "libman restore" exited with code 127.
0 Warning(s)
2 Error(s)
Next, I ran it as instructed:
dotnet run --verbosity normal --project ./src/Blazor/Blazor.csproj
This seemed to work, but when I try to access https://localhost:5001/
, I get a 404:
{
"type": "https://httpstatuses.com/404",
"title": "Not Found",
"status": 404,
"traceId": "00-7bdbaac525b2b941bbb82d8dd9b24e8f-d6b6041561298946-00"
}
The server logs indicate it might be from a missing favicon.ico
:
2020-12-21 12:05:59.149 DBUG 26297 --- [ 7] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" accepted.
2020-12-21 12:05:59.150 DBUG 26297 --- [ 6] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" started.
2020-12-21 12:05:59.309 DBUG 26297 --- [ 6] M.A.S.K.H.Internal.HttpsConnectionMiddleware : Connection "0HM55SDPSCMR5" established using the following protocol: Tls12
2020-12-21 12:05:59.337 INFO 26297 --- [ 6] M.AspNetCore.Hosting.Diagnostics : Request starting HTTP/1.1 GET https://localhost:5001/ - -
2020-12-21 12:05:59.338 DBUG 26297 --- [ 6] M.A.HostFiltering.HostFilteringMiddleware : Wildcard detected, all requests with hosts will be allowed.
2020-12-21 12:05:59.342 DBUG 26297 --- [ 6] blazor.Security.Jwt.TokenProvider : Using a Base64-encoded JWT secret key
2020-12-21 12:05:59.361 DBUG 26297 --- [ 6] M.A.A.JwtBearer.JwtBearerHandler : AuthenticationScheme: Bearer was not authenticated.
2020-12-21 12:05:59.362 DBUG 26297 --- [ 6] M.AspNetCore.HttpsPolicy.HstsMiddleware : The host 'localhost' is excluded. Skipping HSTS header.
2020-12-21 12:05:59.379 DBUG 26297 --- [ 6] M.A.StaticFiles.StaticFileMiddleware : The request path does not match the path filter
2020-12-21 12:05:59.379 DBUG 26297 --- [ 6] M.A.StaticFiles.StaticFileMiddleware : The request path / does not match a supported file type
2020-12-21 12:05:59.384 DBUG 26297 --- [ 6] M.A.M.Razor.Compilation.DefaultViewCompiler : Initializing Razor view compiler with no compiled views.
2020-12-21 12:05:59.403 DBUG 26297 --- [ 6] M.A.Routing.Matching.DfaMatcher : No candidates found for the request path '/'
2020-12-21 12:05:59.404 DBUG 26297 --- [ 6] M.A.Routing.EndpointRoutingMiddleware : Request did not match any endpoints
2020-12-21 12:05:59.415 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : List of registered output formatters, in the following order: ["Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter"]
2020-12-21 12:05:59.419 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : No information found on request to perform content negotiation.
2020-12-21 12:05:59.419 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : Attempting to select the first output formatter in the output formatters list which supports a content type from the explicitly specified content types '["application/problem+json", "application/problem+xml"]'.
2020-12-21 12:05:59.419 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : Selected output formatter 'Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter' and content type 'application/problem+json' to write the response.
2020-12-21 12:05:59.420 INFO 26297 --- [ 6] M.A.M.Infrastructure.ObjectResultExecutor : Executing ObjectResult, writing value of type 'Microsoft.AspNetCore.Mvc.ProblemDetails'.
2020-12-21 12:05:59.511 DBUG 26297 --- [ 6] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" completed keep alive response.
2020-12-21 12:05:59.512 INFO 26297 --- [ 6] M.AspNetCore.Hosting.Diagnostics : Request finished HTTP/1.1 GET https://localhost:5001/ - - - 404 157 application/problem+json;+charset=utf-8 177.0350ms
2020-12-21 12:05:59.853 INFO 26297 --- [ 4] M.AspNetCore.Hosting.Diagnostics : Request starting HTTP/1.1 GET https://localhost:5001/favicon.ico - -
2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] blazor.Security.Jwt.TokenProvider : Using a Base64-encoded JWT secret key
2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] M.A.A.JwtBearer.JwtBearerHandler : AuthenticationScheme: Bearer was not authenticated.
2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] M.AspNetCore.HttpsPolicy.HstsMiddleware : The host 'localhost' is excluded. Skipping HSTS header.
2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] M.A.StaticFiles.StaticFileMiddleware : The request path does not match the path filter
2020-12-21 12:05:59.854 DBUG 26297 --- [ 4] M.A.StaticFiles.StaticFileMiddleware : The request path /favicon.ico does not match an existing file
2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.Routing.Matching.DfaMatcher : No candidates found for the request path '/favicon.ico'
2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.Routing.EndpointRoutingMiddleware : Request did not match any endpoints
2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : List of registered output formatters, in the following order: ["Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter"]
2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : No information found on request to perform content negotiation.
2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : Attempting to select the first output formatter in the output formatters list which supports a content type from the explicitly specified content types '["application/problem+json", "application/problem+xml"]'.
2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : Selected output formatter 'Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter' and content type 'application/problem+json' to write the response.
2020-12-21 12:05:59.855 INFO 26297 --- [ 4] M.A.M.Infrastructure.ObjectResultExecutor : Executing ObjectResult, writing value of type 'Microsoft.AspNetCore.Mvc.ProblemDetails'.
2020-12-21 12:05:59.856 DBUG 26297 --- [ 4] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" completed keep alive response.
2020-12-21 12:05:59.856 INFO 26297 --- [ 4] M.AspNetCore.Hosting.Diagnostics : Request finished HTTP/1.1 GET https://localhost:5001/favicon.ico - - - 404 157 application/problem+json;+charset=utf-8 3.1308ms
I tried again today. The first thing I noticed is several warnings (I have JHipster v6.10.5 installed).
WARNING! Deprecated: JHipster seems to be invoked using Yeoman command. Please use the JHipster CLI. Run jhipster <command> instead of yo jhipster:<command>
This is strange i will investigate
I ran the tests as the blueprint suggested:
dotnet test --list-tests --verbosity normal
This resulted in a couple errors:
Build FAILED. "/Users/mraible/blazor/Blazor.sln" (VSTest target) (1:2) -> "/Users/mraible/blazor/test/Blazor.Client.Test/Blazor.Client.Test.csproj" (VSTest target) (9:6) -> "/Users/mraible/blazor/test/Blazor.Client.Test/Blazor.Client.Test.csproj" (default target) (9:7) -> "/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj" (default target) (11:9) -> (RestoreFrontEndLibraries target) -> /Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj(72,5): error : /var/folders/f7/5x4rvsr5599ffnfckn487nzm0000gn/T/tmp8105ddf01f954ac7ac6640ee75b36e2a.exec.cmd: line 2: libman: command not found /Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj(72,5): error MSB3073: The command "libman restore" exited with code 127. 0 Warning(s) 2 Error(s)
Have you installed Libman and WebCompiler ?
Libman: dotnet tool install -g Microsoft.Web.LibraryManager.Cli
WebCompiler: dotnet tool install Excubo.WebCompiler --global
Next, I ran it as instructed:
dotnet run --verbosity normal --project ./src/Blazor/Blazor.csproj
This seemed to work, but when I try to access
https://localhost:5001/
, I get a 404:{ "type": "https://httpstatuses.com/404", "title": "Not Found", "status": 404, "traceId": "00-7bdbaac525b2b941bbb82d8dd9b24e8f-d6b6041561298946-00" }The server logs indicate it might be from a missing
favicon.ico
:2020-12-21 12:05:59.149 DBUG 26297 --- [ 7] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" accepted. 2020-12-21 12:05:59.150 DBUG 26297 --- [ 6] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" started. 2020-12-21 12:05:59.309 DBUG 26297 --- [ 6] M.A.S.K.H.Internal.HttpsConnectionMiddleware : Connection "0HM55SDPSCMR5" established using the following protocol: Tls12 2020-12-21 12:05:59.337 INFO 26297 --- [ 6] M.AspNetCore.Hosting.Diagnostics : Request starting HTTP/1.1 GET https://localhost:5001/ - - 2020-12-21 12:05:59.338 DBUG 26297 --- [ 6] M.A.HostFiltering.HostFilteringMiddleware : Wildcard detected, all requests with hosts will be allowed. 2020-12-21 12:05:59.342 DBUG 26297 --- [ 6] blazor.Security.Jwt.TokenProvider : Using a Base64-encoded JWT secret key 2020-12-21 12:05:59.361 DBUG 26297 --- [ 6] M.A.A.JwtBearer.JwtBearerHandler : AuthenticationScheme: Bearer was not authenticated. 2020-12-21 12:05:59.362 DBUG 26297 --- [ 6] M.AspNetCore.HttpsPolicy.HstsMiddleware : The host 'localhost' is excluded. Skipping HSTS header. 2020-12-21 12:05:59.379 DBUG 26297 --- [ 6] M.A.StaticFiles.StaticFileMiddleware : The request path does not match the path filter 2020-12-21 12:05:59.379 DBUG 26297 --- [ 6] M.A.StaticFiles.StaticFileMiddleware : The request path / does not match a supported file type 2020-12-21 12:05:59.384 DBUG 26297 --- [ 6] M.A.M.Razor.Compilation.DefaultViewCompiler : Initializing Razor view compiler with no compiled views. 2020-12-21 12:05:59.403 DBUG 26297 --- [ 6] M.A.Routing.Matching.DfaMatcher : No candidates found for the request path '/' 2020-12-21 12:05:59.404 DBUG 26297 --- [ 6] M.A.Routing.EndpointRoutingMiddleware : Request did not match any endpoints 2020-12-21 12:05:59.415 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : List of registered output formatters, in the following order: ["Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter"] 2020-12-21 12:05:59.419 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : No information found on request to perform content negotiation. 2020-12-21 12:05:59.419 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : Attempting to select the first output formatter in the output formatters list which supports a content type from the explicitly specified content types '["application/problem+json", "application/problem+xml"]'. 2020-12-21 12:05:59.419 DBUG 26297 --- [ 6] M.A.M.I.DefaultOutputFormatterSelector : Selected output formatter 'Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter' and content type 'application/problem+json' to write the response. 2020-12-21 12:05:59.420 INFO 26297 --- [ 6] M.A.M.Infrastructure.ObjectResultExecutor : Executing ObjectResult, writing value of type 'Microsoft.AspNetCore.Mvc.ProblemDetails'. 2020-12-21 12:05:59.511 DBUG 26297 --- [ 6] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" completed keep alive response. 2020-12-21 12:05:59.512 INFO 26297 --- [ 6] M.AspNetCore.Hosting.Diagnostics : Request finished HTTP/1.1 GET https://localhost:5001/ - - - 404 157 application/problem+json;+charset=utf-8 177.0350ms 2020-12-21 12:05:59.853 INFO 26297 --- [ 4] M.AspNetCore.Hosting.Diagnostics : Request starting HTTP/1.1 GET https://localhost:5001/favicon.ico - - 2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] blazor.Security.Jwt.TokenProvider : Using a Base64-encoded JWT secret key 2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] M.A.A.JwtBearer.JwtBearerHandler : AuthenticationScheme: Bearer was not authenticated. 2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] M.AspNetCore.HttpsPolicy.HstsMiddleware : The host 'localhost' is excluded. Skipping HSTS header. 2020-12-21 12:05:59.853 DBUG 26297 --- [ 4] M.A.StaticFiles.StaticFileMiddleware : The request path does not match the path filter 2020-12-21 12:05:59.854 DBUG 26297 --- [ 4] M.A.StaticFiles.StaticFileMiddleware : The request path /favicon.ico does not match an existing file 2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.Routing.Matching.DfaMatcher : No candidates found for the request path '/favicon.ico' 2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.Routing.EndpointRoutingMiddleware : Request did not match any endpoints 2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : List of registered output formatters, in the following order: ["Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter", "Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter"] 2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : No information found on request to perform content negotiation. 2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : Attempting to select the first output formatter in the output formatters list which supports a content type from the explicitly specified content types '["application/problem+json", "application/problem+xml"]'. 2020-12-21 12:05:59.855 DBUG 26297 --- [ 4] M.A.M.I.DefaultOutputFormatterSelector : Selected output formatter 'Microsoft.AspNetCore.Mvc.Formatters.NewtonsoftJsonOutputFormatter' and content type 'application/problem+json' to write the response. 2020-12-21 12:05:59.855 INFO 26297 --- [ 4] M.A.M.Infrastructure.ObjectResultExecutor : Executing ObjectResult, writing value of type 'Microsoft.AspNetCore.Mvc.ProblemDetails'. 2020-12-21 12:05:59.856 DBUG 26297 --- [ 4] Microsoft.AspNetCore.Server.Kestrel : Connection id "0HM55SDPSCMR5" completed keep alive response. 2020-12-21 12:05:59.856 INFO 26297 --- [ 4] M.AspNetCore.Hosting.Diagnostics : Request finished HTTP/1.1 GET https://localhost:5001/favicon.ico - - - 404 157 application/problem+json;+charset=utf-8 3.1308ms
This part run only the server part i will add instruction for client part
The 404 is here because no route match "/"
For the front you also need to run dotnet run
in the folder or
dotnet run --project ./src/Blazor.Client/Blazor.Client.csproj
and go on https://localhost:4901
I was not aware that I needed to install Libman and WebCompiler. Will .NET developers know to do this? I have no idea since this is one of the first times I've tried to run a .NET app. 😉
After installing them, dotnet test --list-tests --verbosity normal
results in 4 errors:
Build FAILED.
"/Users/mraible/blazor/Blazor.sln" (VSTest target) (1:2) ->
"/Users/mraible/blazor/test/Blazor.Client.Test/Blazor.Client.Test.csproj" (VSTest target) (9:6) ->
"/Users/mraible/blazor/test/Blazor.Client.Test/Blazor.Client.Test.csproj" (default target) (9:7) ->
"/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj" (default target) (11:9) ->
(RazorCompileComponentDeclaration target) ->
/Users/mraible/blazor/src/client/Blazor.Client/Pages/Admin/UserManagement/UserDetail.razor.cs(22,39): error CS0115: 'UserDetail.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
/Users/mraible/blazor/src/client/Blazor.Client/Pages/Admin/UserManagement/UserManagement.razor.cs(30,39): error CS0115: 'UserManagement.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
/Users/mraible/blazor/src/client/Blazor.Client/Shared/Components/AlertError.razor.cs(25,33): error CS0115: 'AlertError.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
/Users/mraible/blazor/src/client/Blazor.Client/Pages/Admin/UserManagement/UserUpdate.razor.cs(37,39): error CS0115: 'UserUpdate.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
0 Warning(s)
4 Error(s)
I tried to run the command you suggested for the front, but it doesn't work.
$ dotnet run --project ./src/Blazor.Client/Blazor.Client.csproj
MSBUILD : error MSB1009: Project file does not exist.
Switch: ./src/Blazor.Client/Blazor.Client.csproj
My src
directory:
drwxr-xr-x 16 mraible staff 512B Dec 21 12:04 Blazor
drwxr-xr-x 8 mraible staff 256B Dec 21 12:04 Blazor.Crosscutting
drwxr-xr-x 8 mraible staff 256B Dec 21 12:04 Blazor.Domain
drwxr-xr-x 9 mraible staff 288B Dec 21 12:04 Blazor.Domain.Services
drwxr-xr-x 10 mraible staff 320B Dec 21 12:04 Blazor.Dto
drwxr-xr-x 8 mraible staff 256B Dec 21 12:04 Blazor.Infrastructure
drwxr-xr-x 4 mraible staff 128B Dec 21 12:02 client
I dug into the client
directory and found the project file there, so I tried:
dotnet run --project ./src/client/Blazor.Client/Blazor.Client.csproj
This results in some errors and it does not start.
/Users/mraible/blazor/src/client/Blazor.Client/Pages/Admin/UserManagement/UserDetail.razor.cs(22,39): error CS0115: 'UserDetail.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
/Users/mraible/blazor/src/client/Blazor.Client/Pages/Admin/UserManagement/UserManagement.razor.cs(30,39): error CS0115: 'UserManagement.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
/Users/mraible/blazor/src/client/Blazor.Client/Shared/Components/AlertError.razor.cs(25,33): error CS0115: 'AlertError.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
/Users/mraible/blazor/src/client/Blazor.Client/Pages/Admin/UserManagement/UserUpdate.razor.cs(37,39): error CS0115: 'UserUpdate.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/Blazor.Client/Blazor.Client.csproj]
The build failed. Fix the build errors and run again.
I think it's confusing that you have to start a frontend and a backend. Maybe .NET developers expect this?
I'm sure you know this, but with the main (Java) generator, we start both the frontend and backend with a single command, then allow developers to run the frontend separately if they want to.
I was not aware that I needed to install Libman and WebCompiler. Will .NET developers know to do this? I have no idea since this is one of the first times I've tried to run a .NET app. 😉
Yes i think Libman replace npm for depencies like bootstrap and Webcompiler replace webpack for build minify css.
But I have to document this properly.
For build error can you share generated code ? There is something wrong in generated app
You're on the main branch with npm link
?
I think it's confusing that you have to start a frontend and a backend. Maybe .NET developers expect this?
I'm sure you know this, but with the main (Java) generator, we start both the frontend and backend with a single command, then allow developers to run the frontend separately if they want to.
Yes, we have also this when we run dotnet with angular or react, with blazor i have no way to do this or maybe with a script.
The advantage of launching both is that you can have the hot reload with dotnet watch run
I tried to run the command you suggested for the front, but it doesn't work.
yes sorry i forgot client
folder
Yes, I'm on the main branch and using npm link
. Here's my generated project: https://github.com/mraible/blazor-test
I did not import the entities yet.
I have find !
I have not extend ComponentBase
on admin component so the link between the class and component is case sensitive
The folder is Blazor
and your namespace is in lowercase (blazor
).
Can you retry with Pascal case namespace ?
Pascal case for the namespace is a convention in .net but i will make a fix for this and add warning if the namespace is in pascal case.
My app is in a blazor
directory, but I'm guessing that doesn't matter. I tried changing my .yo-rc.json
to NOT use Blazor
for the namespace and baseName:
"namespace": "MyNamespace",
...
"baseName": "MyApp",
Now, when I run the tests, I get even more errors:
Build FAILED.
"/Users/mraible/blazor/MyApp.sln" (VSTest target) (1:2) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (VSTest target) (9:6) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (default target) (9:7) ->
(ResolveProjectReferences target) ->
/usr/local/share/dotnet/sdk/5.0.100/Microsoft.Common.CurrentVersion.targets(1889,5): warning : The referenced project '../../src/client/MyNamespace.Client/MyNamespace.Client.csproj' does not exist. [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
"/Users/mraible/blazor/MyApp.sln" (VSTest target) (1:2) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (VSTest target) (9:6) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (default target) (9:7) ->
(RazorCompileComponentDeclaration target) ->
/Users/mraible/blazor/test/MyApp.Client.Test/AlertErrorTest.cs(9,26): error CS0234: The type or namespace name 'Services' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/AlertErrorTest.cs(10,26): error CS0234: The type or namespace name 'Shared' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/AlertErrorTest.cs(11,37): error CS0234: The type or namespace name 'TestPages' does not exist in the namespace 'MyNamespace.Client.Test.Pages' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/AlertErrorTest.cs(14,26): error CS0234: The type or namespace name 'Shared' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/AlertErrorTest.cs(15,26): error CS0234: The type or namespace name 'Shared' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/AlertErrorTest.cs(16,7): error CS0246: The type or namespace name 'Toolbelt' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/AuthorizationHelper.cs(7,7): error CS0246: The type or namespace name 'Blazored' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(8,26): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(9,26): error CS0234: The type or namespace name 'Services' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockRegisterService.cs(7,26): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockRegisterService.cs(8,26): error CS0234: The type or namespace name 'Services' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockRegisterService.cs(9,26): error CS0234: The type or namespace name 'Shared' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/IndexTest.cs(3,7): error CS0246: The type or namespace name 'Blazored' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/IndexTest.cs(5,26): error CS0234: The type or namespace name 'Pages' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/LoginTest.cs(4,7): error CS0246: The type or namespace name 'Blazored' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/LoginTest.cs(8,26): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/LoginTest.cs(9,26): error CS0234: The type or namespace name 'Pages' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/LoginTest.cs(10,26): error CS0234: The type or namespace name 'Services' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(5,7): error CS0246: The type or namespace name 'Blazored' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(6,7): error CS0246: The type or namespace name 'Blazorise' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(7,7): error CS0246: The type or namespace name 'Blazorise' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(8,7): error CS0246: The type or namespace name 'Blazorise' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(12,26): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(13,26): error CS0234: The type or namespace name 'Pages' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(14,26): error CS0234: The type or namespace name 'Pages' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(15,26): error CS0234: The type or namespace name 'Pages' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(16,26): error CS0234: The type or namespace name 'Services' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/TestPages/TestAlertError.razor(1,26): error CS0234: The type or namespace name 'Shared' does not exist in the namespace 'MyNamespace.Client' (are you missing an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(14,74): error CS0246: The type or namespace name 'IAuthenticationService' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockRegisterService.cs(15,40): error CS0246: The type or namespace name 'IRegisterService' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockRegisterService.cs(24,55): error CS0246: The type or namespace name 'UserSaveModel' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/AlertErrorTest.cs(122,47): error CS0246: The type or namespace name 'TestAlertError' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(27,31): error CS0246: The type or namespace name 'IUserService' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/Admin/UserManagement/UserDetailTest.cs(28,31): error CS0246: The type or namespace name 'INavigationService' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Pages/TestPages/TestAlertError.razor(8,12): error CS0246: The type or namespace name 'AlertError' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(39,16): error CS0246: The type or namespace name 'UserModel' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(45,16): error CS0246: The type or namespace name 'JwtToken' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(51,48): error CS0246: The type or namespace name 'LoginModel' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
1 Warning(s)
38 Error(s)
Running the backend with dotnet run --verbosity normal --project ./src/MyApp/MyApp.csproj
completes successfully.
Running the frontend with dotnet run --project ./src/client/MyApp.Client/MyApp.Client.csproj
does not.
/usr/local/share/dotnet/sdk/5.0.100/Microsoft.Common.CurrentVersion.targets(1889,5): warning : The referenced project '../MyNamespace.Client.Shared/MyNamespace.Client.Shared.csproj' does not exist. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/usr/local/share/dotnet/sdk/5.0.100/Microsoft.Common.CurrentVersion.targets(1889,5): warning : The referenced project '../../MyNamespace.Crosscutting/MyNamespace.Crosscutting.csproj' does not exist. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/AutoMapper/AutoMapperProfile.cs(4,19): error CS0234: The type or namespace name 'Dto' does not exist in the namespace 'MyNamespace' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Pages/Account/Register.razor.cs(11,33): error CS0234: The type or namespace name 'Constants' does not exist in the namespace 'MyNamespace.Client.Shared' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Services/AccountServices/RegisterService.cs(8,19): error CS0234: The type or namespace name 'Dto' does not exist in the namespace 'MyNamespace' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Services/AuthenticationService.cs(11,19): error CS0234: The type or namespace name 'Dto' does not exist in the namespace 'MyNamespace' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Services/EntityServices/User/IUserService.cs(6,19): error CS0234: The type or namespace name 'Dto' does not exist in the namespace 'MyNamespace' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Services/EntityServices/User/UserService.cs(9,19): error CS0234: The type or namespace name 'Dto' does not exist in the namespace 'MyNamespace' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(8,33): error CS0234: The type or namespace name 'Constants' does not exist in the namespace 'MyNamespace.Client.Shared' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(9,33): error CS0234: The type or namespace name 'Models' does not exist in the namespace 'MyNamespace.Client.Shared' (are you missing an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Pages/Admin/UserManagement/UserDetail.razor.cs(22,39): error CS0115: 'UserDetail.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(20,22): error CS0246: The type or namespace name 'JhiAlert' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(31,36): error CS0246: The type or namespace name 'JhiAlert' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(41,39): error CS0246: The type or namespace name 'JhiAlert' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(47,36): error CS0246: The type or namespace name 'JhiAlert' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(100,34): error CS0246: The type or namespace name 'JhiAlert' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(115,37): error CS0246: The type or namespace name 'JhiAlert' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(25,33): error CS0115: 'AlertError.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Pages/Admin/UserManagement/UserManagement.razor.cs(30,39): error CS0115: 'UserManagement.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Pages/Admin/UserManagement/UserUpdate.razor.cs(37,39): error CS0115: 'UserUpdate.OnInitializedAsync()': no suitable method found to override [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Services/EntityServices/User/UserService.cs(14,65): error CS0246: The type or namespace name 'UserDto' could not be found (are you missing a using directive or an assembly reference?) [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
The build failed. Fix the build errors and run again.
I'm starting to think I'm not the best person to test this since I'm not a .NET developer.
I'm starting to think I'm not the best person to test this since I'm not a .NET developer.
If you have the time you are totally the right person anyone should be able to generate an application
For your error is my bad i have use namespace variable rather than baseName to reference other project. I need to fix it.
Can you try with same name for namespace and baseName ? Sorry for all its inconveniences i hope not to waste your time
If I use MyApp
for both values, the tests pass but there are lots of warnings:
Build succeeded.
"/Users/mraible/blazor/MyApp.sln" (VSTest target) (1:2) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (VSTest target) (9:6) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (default target) (9:7) ->
"/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj" (default target) (11:9) ->
(CoreCompile target) ->
/Users/mraible/blazor/src/client/MyApp.Client/Pages/Index.razor.cs(21,28): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Services/AuthenticationService.cs(41,17): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Services/AuthenticationService.cs(58,27): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Pages/Account/Register.razor.cs(114,28): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/NavMenu.razor.cs(21,28): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(97,13): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
/Users/mraible/blazor/src/client/MyApp.Client/Shared/Components/AlertError.razor.cs(110,17): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/Users/mraible/blazor/src/client/MyApp.Client/MyApp.Client.csproj]
"/Users/mraible/blazor/MyApp.sln" (VSTest target) (1:2) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (VSTest target) (9:6) ->
"/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj" (default target) (9:7) ->
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(51,41): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
/Users/mraible/blazor/test/MyApp.Client.Test/Helpers/MockAuthenticationService.cs(56,35): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread. [/Users/mraible/blazor/test/MyApp.Client.Test/MyApp.Client.Test.csproj]
9 Warning(s)
0 Error(s)
Now the backend, frontend, and authentication works!
I then tried importing the entities with jhipster jdl entities.jdl --blueprints dotnetcore
. This doesn't seem to work.
INFO! Generating 8 entities.
INFO! Generating entities for application undefined in a new parallel process
Error running generator entities: TypeError: jhContext.setupEntityOptions is not a function
TypeError: jhContext.setupEntityOptions is not a function
at new module.exports (/Users/mraible/dev/jhipster-dotnetcore/generators/entity/index.js:25:19)
at Environment.instantiate (/Users/mraible/generator-jhipster/node_modules/yeoman-environment/lib/environment.js:673:23)
Warnings is cause by synchronous code in async inherited method. I'm going to review this, but I don't think I could change this behavior.
Can you give me your entities.jdl ? it contains only entities ?
Can you try with import-jdl ?
My entities is the same as yours above. The reason it wasn't working is that I was using the main
branch of JHipster, which was saying it was v6.10.5. Running npm i -g generator-jhipster
fixed the problem.
This command now works:
jhipster jdl entities.jdl --blueprints dotnetcore
bounty claimed => https://opencollective.com/generator-jhipster/expenses/37062