ASP.NET vNext - gjenbruk av eksisterende nuget pakker

stemmer
1

Selv om jeg velkommen ASP.NET vNext spillet til Microsoft (inkludert kryssplattform flytte), jeg har ett stort spørsmål: Kan det eksisterende nuget pakker økosystemet gjenbrukes, eller gjør vNext krever spesifikke nuget pakker som følge av bruk av en bestemt undergruppe av .NET Framework?

Publisert på 26/10/2014 klokken 08:22
kilden bruker
På andre språk...                            


1 svar

stemmer
2

Du kan absolutt bruke eksisterende nuget pakker. På slutten av dagen, det kommer an på hva rammene du er målgruppe. Hvis din søknad mål aspnet50for eksempel, du kan gjerne spise eksisterende nuget pakker som er kompatible med NET 4.5 og høyere (avhengig av hvilken versjon av .NET Framework du har installert). Her er et eksempel project.json fil som indikerer MongoDB .NET Client forbruk fra nuget.org:

{
    "name": "AspNet.Identity.MongoDB",
    "version": "1.0.0-beta1",
    "dependencies": {
        "Microsoft.AspNet.Identity": "3.0.0-*",
        "mongocsharpdriver": "1.9.2"
    },
    "aspnet50": {
      "dependencies": { }
    }
}

Som jeg bare har en ramme (aspnet50), vil det fungere greit, selv om jeg har mongocsharpdriver referanse for alle rammer.

Du kan bruke denne tilnærmingen for å lette overgangen til ASP.NET vNext (som jeg gjorde med min MongoDB ASP.NET Identity implementering ) siden bibliotekene som MongoDB .NET Client sannsynligvis trenger litt tid til å være kompatibel med aspnetcore50.

Hvis jeg var rettet mot flere rammer, ville jeg ha bestemt pakken installert bare for at rammeverk. Her er et eksempel:

{
    "dependencies": {
        "Kestrel": "1.0.0-*",
        "Microsoft.AspNet.Mvc": "6.0.0-*",
        "Microsoft.AspNet.Mvc.WebApiCompatShim": "6.0.0-*",
        "Microsoft.AspNet.Server.IIS": "1.0.0-*",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-*",
        "Microsoft.AspNet.StaticFiles": "1.0.0-*",
    },
    "commands": {
        "web": "Microsoft.AspNet.Hosting server=Microsoft.AspNet.Server.WebListener server.urls=http://localhost:5001",
        "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5000"
    },
    "frameworks": {
        "aspnet50": {
            "dependencies": {
                "Microsoft.Framework.DependencyInjection.Autofac": "1.0.0-*",
                "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-*"
            }
        },
        "aspnetcore50": {
            "dependencies": { }
        }
    },
    "webroot": "wwwroot"
}

Legg merke til at Microsoft.Framework.DependencyInjection.Autofac pakken er bare installert for aspnet50. Det vil ikke være tilgjengelig når du kompilere søknad under aspnetcore50. Selvfølgelig med denne tilnærmingen, må du ifdef for din vei til seier, avhengig av bruken saken som ferdig her .

Svarte 26/10/2014 kl. 08:30
kilden bruker

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