Forskjeller mellom Net Full rammeverk og .Net Kjerne Work 4.5 brukt av K runtime?

stemmer
10

Jeg har sett videoer innføre ASP.NET vNext og vært å holde tritt med de siste utlysningen blogginnlegg, men detaljert informasjon om hva som er blitt fjernet fra hele rammeverket vises slank. Her er hva jeg tror jeg vet så langt:

Er vi i utgangspunktet ser på et rammeverk som i utgangspunktet omfatter noe mer enn hva som er i mscorlib i full ramme, med alt annet levert via pakkehåndtering? Og hvis dette er tilfelle, hvorfor skulle man trenger for å målrette rammeverket spesifikt, som beskrevet her? http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependency-injection-in-asp-net-vnext.aspx

Publisert på 20/06/2014 klokken 21:27
kilden bruker
På andre språk...                            


3 svar

stemmer
2

Så vidt jeg forstår, er .Net Framework fullt rammene vi kjenner og elsker med alle Windows-implementeringer og massevis av kode vi ikke vanligvis bruker, som de forklarer i noen videoer en XML-parser.

I .NET Kjerne fjernet de alle unødvendige implementeringer / dependecies og bare igjen de grunnleggende. noe som gjør at også kryss-plattform (ikke ennå), så i fremtiden kunne tenke som eneste rammeverk: CORE Framework, og kjøre på hvilken som helst enhet. Deres februar samfunnet standup gi en masse informasjon og innsikt om sine mål og mål.

Jeg ser dette som en overgang, når enkelte funksjoner er kun tilgjengelig på hele ramme mens i futures kan man forvente å se alle funksjoner som er tilgjengelige for .NET Core.

Fra en Microsoft perspektiv, hvis de ønsker å frigi kan si Entity Framework for mobil (EF7 satser på det) de må kvitte seg med alle vinduer implementeringer, på EF og det er avhengigheter (Framework). Så de skapte en ikke-vinduer avhengighet av rammeverket, som også bidrar til flere rammer installere og fjerne noen problemer med oppdatering rammen ved å ha dem eller mindre isolert fra systemet, som ligger i programmet. Nye problemer vil komme ut flere kopier av det samme rammeverket på en maskin per program, det er derfor de jobber med noe som kalles Smart deling.

Dette innlegget kan hjelpe deg og gi deg litt innsikt spesielt denne delen:

Strukturen av NET Kjernen består av to hovedkomponenter som legger til og strekker seg på egenskapene til Framework som følger:

  1. Spilletid:

Bygget på samme kodebase som .Net Framework CLR. Inkluderer samme GC og JIT (RyuJIT) Inkluderer ikke funksjoner som Application Domener eller Code Access Security. Kjøretids leveres på nuget (Microsoft.CoreCLR pakke)

  1. Base klassebiblioteker:

Er den samme koden som .NET Framework klassebiblioteker men inneholder ikke avhengigheter så har en mindre plass. Tilgjengelig på nuget (System. * Pakke)

og jeg antar at du allerede har lest presenterer .NET Kjerne fra Microsoft.

Angående din bekymring om å angi et spesifikt rammeverk er fordi akkurat nå, fungerer ikke alt på Core-CLR, slik at du må velge hvilken du vil bruke, eller du kan målrette både og bruke ulike implementeringer.

Per akkurat nå, CORE bare kjører på Windows, mono rammeverket har ikke et SQLLite leverandør for Entity Framework, men det gjør på Core, slik at du kan bruke en InMemory eller Azure EF leverandør for eksempel, og velge, avhengig av miljøet programmet kjører.

Som Scott Gu står på samfunnet standup, de ser for seg en fremtid der det er ingen mono rammeverk eller full ramme, det er bare Core, men det vil ta tid hvis det noen gang skjer.

Svarte 06/02/2015 kl. 19:59
kilden bruker

stemmer
2

Grunnen til at de spesifikt mål NET45i linken du oppga er fordi AutoFacer bygget for, og har en avhengighet av .NET 4.5. Uten NET45koden ville ikke kompilere.

Min antakelse er at når vNext kommer nærmere og nærmere for å frigjøre Autofac (og StructureMap, og Castle Windsor, og ...) vil gi ut en versjon som er rettet mot skyen optimalisert rammeverk for å fjerne avhengigheten.

Svarte 15/08/2014 kl. 22:46
kilden bruker

stemmer
0

Jeg kan ikke finne en original kilde annet enn en kommentar fra David Fowler (tror jeg) på en presentasjon fra NDC, men CoreCLR brukes av K Runtime er faktisk en reinkarnasjon av CLR brukes av Silverlight 2. Det ble brukt fordi den er liten og utformet for å være kryss-plattform. Det er litt mer informasjon her: https://stackoverflow.com/a/25720160/113225

Svarte 30/09/2014 kl. 15:23
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more