658 messaggi dal 13 novembre 2008
Contributi
ciao,
ho una webapp realizzata partendo dal template Asp.NetCore+Angular(6), ho provato due modalità di deploy su Azure, la prima tramite publish da VS, la seconda che utilizzo normalmente tramite DevOps; con tutte e due riscontro il seguente problema:
la struttura delle cartelle dopo la pubblicazione (visualizzata in AppServiceEditor) è la seguente:

wwwroot>
_dist>
__ClientApp>
___dist>
____ClientApp>
_____dist> qui ci sono i files angular
____wwwroot> favicon.ico
____qui ci sono le dll e json, es. appsettings.json, coreProject.dll, ecc

in genere non uso quel template e quindi l'api o l'app angular le trovo direttamente sotto wwwroot, in questo caso come bisogna procedere?

in angular.json ho:
...
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"progress": true,
"extractCss": true,
"outputPath": "dist",
...

package.json
...
"scripts": {
...
"build-prod": "ng build --prod",
...

startup.cs
...
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/dist";
});
...
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
...

grazie!
Modificato da teo prome il 29 ottobre 2019 14:07 -
14 messaggi dal 07 marzo 2017
Contributi
Ciao,
la struttura delle cartelle non mi è molto chiara, e da una prima occhiata mi sembra troppo annidata.
Se utilizzi il template di VS il risultato finale dovrebbe essere una cartella, nella cui root trovi

- ClientApp/
- wwwroot/
- *.dll

La configurazione di Angular deve essere quella di default (VS utilizza la Angular-CLI per gestire il progetto Angular ed è supportata al 100%), il "lavoro" lo esegue il comando 'dotnet publish' leggendo la configurazione impostata nel file *.csproj, a tal proposito ti consiglio di creare una nuova app dal template di VS, e controllare la configurazione e le differenze rispetto al tuo progetto.
Spero di esserti stato utile.
Ciao!
658 messaggi dal 13 novembre 2008
Contributi
grazie Morgan,
ho eliminato tutti i files, l'app è Core 2.2 e ho letto che su Azure occorreva l'estensione Asp.NetCore2.2 e l'ho installata; non so se c'entra ma ora il tutto funziona, però devo impostare come mapping dell'applicazione 'site\wwwroot\ClientApp\dist'

perché dall'editor dell'app adesso vedo questa struttura

ClientApp
_dist
__ClientApp
___dist
__wwwroot
__*.dll

ho ancora un annidamento...

mi è poi venuto in mente che a livello di configurazione Angular ho modificato dall'inizio, in angular.json:
outputPath": "dist/ClientApp" in "dist"
potrebbe essere anche li il problema...

proverò a confrontare la configurazione nel file *.csproj con un template nuovo o magari a farne direttamente il deploy per vedere quale struttura mi trovo.


Ciao!
658 messaggi dal 13 novembre 2008
Contributi
ho provato creando da VS un nuovo progetto con template angular, compilato e pubblicato senza toccare nulla ottengo la stessa struttura

ClientApp
_dist
__ClientApp
___dist
__wwwroot
__*.dll


l'app funziona, ma occorre impostare come mapping 'site\wwwroot\ClientApp\dist'

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.