Wątek przeniesiony 2019-01-02 09:06 z Newbie przez Adam Boduch.

Instalowanie pakietów przez Nuget

0

Cześć,
Poznaję środowisko VS 2017 Community i właśnie instalowałem elementy potrzebne by korzystać z Entity Framework Core dla Postgresql'a. Okazało się, żeby to zainstalować wcześniej musiałem zainstalować 16 innych elementów związanych z EF Core Microsoftu, bo elementy były jakoś powiązane etc.

Moje pytanie to czy jest możliwość, żeby przez Nuget zainstalować wszystkie niezbędne elementy powiązane z elementem, który chce się zainstalować? Chodzi o to, że ja instalując jeden pakiet dowiadywałem się, że muszę wcześniej zainstalować inny pakiet itd. i straciłem chyba 15 minut by zainstalować paczkę z EF dla Postgresql'a. Ja rozumiem, że nie robi się tego zbyt często, ale jednak fajnie by było, gdyby VS dawał możliwość instalacji wszystkich pakietów powiązanych.

Z góry dzięki za pomoc.

2

Ale przecież tak jest automatycznie - jak każesz zainstalować jakiś pakiet to automatycznie zostaną zainstalowane i rozwiązane wszystkie zależności. A każdy pakiet oznacza automatycznie swoje zależności i ich wymagane wersje:

screenshot-20181231101201.png

Tj. jak instalujesz Npgsql.EntityFrameworkCore.PostgreSQL to automatycznie też poleci Microsoft.EntityFrameworkCore i Npgsql.

0

A czy w takim razie to trzeba gdzieś zaznaczyć?
Bo ja, gdy próbuję pobrać Npgsql.EFCore.PostgreSQL to wywala mi taki błąd:

Ważność Kod Opis Projekt Plik Wiersz Stan pominięcia
Błąd NU1107 Wykryto konflikt wersji dla elementu Microsoft.EntityFrameworkCore. Zainstaluj element Microsoft.EntityFrameworkCore 2.2.0 lub utwórz jego odwołanie bezpośrednio w projekcie Nazwa_projektu , aby rozwiązać ten problem.
Nazwa_projektu -> Npgsql.EntityFrameworkCore.PostgreSQL 2.2.0 -> Microsoft.EntityFrameworkCore (>= 2.2.0)
Nazwa_projektu -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.EntityFrameworkCore (>= 2.1.1 && < 2.2.0). Nazwa_projektu C:\Users\wojci\source\repos\ Nazwa_projektu \ Nazwa_projektu \ Nazwa_projektu .csproj 1

Gdy próbuję Microsoft.EntityFrameworkCore to wywala mi kolejny błąd, że nie mam jeszcze czegoś itd. W konsekwencji wszystko muszę instalować od końca i nawet nie wiem czego będę potrzebować...

1

Ale to co wklejasz to inny błąd. Zresztą dość jasny.
Chcesz zainstalować paczkę, która do działania potrzebuje wersji EF Core >= 2.2.0, a inna paczka z której korzystasz (AspNetCore.App) wymaga EF Core <2.2.0, więc nie zadziała.

Zaktualizuj AspNetCore.App do 2.2.0 i po problemie.

0

Aha... :-))
Dziękuję!

0

Hmm, to jeszcze jedno głupie pytanie. Zaktualizowałem sobie VS 2017 do najnowszej wersji. Gdy tworzę nowy projekt asp.net core to w dalszym ciągu mam ten sam błąd... W jaki inny sposób mogę to zaktualizować, by wszystko mi się ładnie pobierało?

1

Podejrzewam, że przy tworzeniu nowego projektu nie możesz wybrać wersji .Net Core 2.2 tylko 2.1 i tworzy Ci projekt w wersji 2.1.
Tak jest?

Jeśli tak, to musisz kombinować. Możesz spróbować zainstalować NET Core 2.2 SDK.

Tutaj ktoś miał problem ze starszą wersją .NET Core, może ten post Cię jakoś nakieruje.

1

Możesz też nie instalować pakietów dla ASP.NET Core 2.2, tylko dla 2.1 i wtedy błędu nie będzie - tj. wybieraj odpowiednią wersję do instalacji.

1

Okazało się, żeby to zainstalować wcześniej musiałem zainstalować 16 innych elementów związanych z EF Core Microsoftu, bo elementy były jakoś powiązane etc.

Ogólnie to polecam zerknąć na te dwie paczki, aby później nie instalować 16 nugetów :D

https://docs.microsoft.com/en-US/aspnet/core/fundamentals/metapackage-app?view=aspnetcore-2.2

https://docs.microsoft.com/en-US/aspnet/core/fundamentals/metapackage?view=aspnetcore-2.2

Tu masz co tam siedzi https://www.nuget.org/packages/Microsoft.AspNetCore.App

0

Dziękuję wszystkim za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1