Differenza tra l'utilizzo dell'applicazione Web ASP.NET Core (.NET Core) con net461 impostato come unico framework e l'utilizzo del modello (.NET Framework)

Differenza tra l'utilizzo dell'applicazione Web ASP.NET Core (.NET Core) con net461 impostato come unico framework e l'utilizzo del modello (.NET Framework)

È come creare un ASP.NET Core Web Application (.NET Framework ) progetto. Il tipo di progetto tra i due è determinato dal .csproj file e l'hai modificato nel tuo .csproj dal targeting .NET Core al targeting del .NET Framework . Nella versione precedente/beta di ASP.NET Core era possibile avere entrambi i Framework in un project.json file (che è stato sostituito da un .csproj semplificato file in .NET Core 2.0 con cui più sviluppatori .NET hanno familiarità) ma puoi pubblicarne solo uno.

Il motivo dell'esistenza di ASP.NET Core separati Applicazione Web (.NET Core ) e ASP.NET Core Applicazione Web (.NET Framework ) è perché quest'ultimo consente di utilizzare funzioni, pacchetti o librerie di terze parti che dipendono da Windows e lo stesso .NET Framework o superiore dovrà essere installato sulla macchina.

Il primo non ha il .NET Framework requisito ma consente alla tua app di essere multipiattaforma e quando pubblichi la tua app pubblica tutti i .NET Core dipendenti dll nella directory di pubblicazione in questo modo eludendo il .NET Framework requisito di installazione.

Influirà anche sulla compilazione come se avessi come target .NET Core e utilizza una funzione o un pacchetto specifico di Windows, otterrai un errore di compilazione.

Puoi passare facilmente da uno all'altro regolando il tuo .csproj prendere di mira l'uno o l'altro.

Microsoft Documenti

Aggiornamento (30/10/2018)

È stato annunciato che ASP.Net Core 3 che ha una data di rilascio nel primo trimestre del 2019, supporterà solo .NET Core e NON .NET Framework


Per prima cosa osserva la differenza nei file project.json quando crei applicazioni Web ASP.NET Core destinate a framework diversi.

Secondo la tua domanda, se modifichi il framework in ASP.NET Core Web Application (.NET Core) project.json solo per avere net461 e salva, ripristinerà i pacchetti e visualizzerà il seguente errore.

Se rimuovi la dipendenza Microsoft.NETCore.App e salvi il file, ripristinerà nuovamente le dipendenze e non darà alcun errore.

Se noti la prima immagine, questa è finalmente diventata un'applicazione Web ASP.NET Core con .NET Framework.


Anche io all'inizio ero confuso. La differenza principale è che l'applicazione Web ASP.NET (.NET Framework) è il normale asp.net che abbiamo utilizzato. Contiene la cartella App_Start web.config, Global.asax ecc. (Come MVC5, hai un'idea..).

Considerando che l'applicazione Web ASP.NET Core (.NET Framework) è un framework di base (MVC6). (Non dipendente da System.Web). Nuovissimo project.json.. startup.cs e program.cs ecc... E supporta anche tutte le vecchie librerie di .net framework.