Próbuję dowiedzieć się, co „ASP.NET 5 Class Library” (vNext) projekt C # ma wspólnego z ASP.NET. Po co tworzyć projekt za pomocą tego szablonu, a nie tylko zwykły projekt C # „Biblioteka klas”?
Podoba mi się nowe funkcje, takie jak plik project.json zamiast pliku .csproj itp., Ale nie wydaje się właściwe tworzenie biblioteki klas „ASP.NET”, gdy projekt nie ma nic wspólnego z ASP.NET lub IIS itp. .To tylko projekt dla warstwy logiki biznesowej. Nowa witryna sieci Web WebApi ASP.NET ostatecznie będzie odwoływać się do tego projektu, ale w tym momencie nie ma to znaczenia.
Czy jest po prostu źle nazwany? Czy powinna po prostu nosić nazwę „vNext Class Library” i nie używać ikony, która wygląda jak aplikacja internetowa?
Odpowiedzi:
Po co tworzyć projekt biblioteki klas ASP.NET 5?
Istnieje wiele korzyści płynących z projektów biblioteki klas ASP.NET 5 ( .kproj) w porównaniu z projektami biblioteki klas ( .csproj):
aspnet50
,aspnetcore50
,net45
i różnych innych odmianach bibliotecznych przenośny klasy. Obejmuje to zaawansowaną obsługę programu Visual Studio dla Intellisense, która powiadamia Cię, które interfejsy API są dostępne dla poszczególnych obiektów docelowych.Możesz odwoływać się do projektu * .csproj z projektu * .kproj (dzięki nowej wersji zapoznawczej programu Visual Studio 2015 stało się to znacznie łatwiejsze), ale zawsze było to możliwe dzięki kilku ręcznym krokom.
Dlaczego nazwa zawiera „ASP.NET”?
Jeśli chodzi o nazwy, to relikt historii, który wkrótce zostanie omówiony. Nowy typ projektu jest przydatny daleko poza aplikacjami ASP.NET 5. Spodziewaj się zobaczyć nowe nazwy w przyszłej wersji zapoznawczej programu Visual Studio:
Aktualizacja 13.05.2015
Wraz z wydaniem programu Visual Studio 2015 RC można zobaczyć zaktualizowane nazwy szablonów projektu:
Korzystają one z
project.json
pliku i środowiska wykonawczego .NET (DNX) do kompilowania, uruchamiania i pakowania (w pakiet NuGet) projektu.Te szablony projektów nadal są wyświetlane w oknie dialogowym Nowy projekt w węźle „Sieć”, ale teraz są również wyświetlane w głównym węźle „Visual C #”.
źródło
To ciekawa obserwacja, obecny szablon wygeneruje bibliotekę klas zgodną ze środowiskiem uruchomieniowym ASP.NET 5. Nie można tego uzyskać z normalnej biblioteki klas C #.
Złożyłem następujący problem, aby śledzić to pytanie projektowe - https://github.com/aspnet/Home/issues/281
źródło
Z tego, co rozumiem, jedną z korzyści jest to, że produktem końcowym projektu biblioteki klas ASP.NET 5 jest pakiet NuGet (a nie tylko zestaw .dll).
Możesz wygenerować pakiet NuGet, klikając prawym przyciskiem myszy projekt w programie Visual Studio 2015 i wybierając opcję „Opublikuj ...”. Możesz też użyć „pakietu KPM” w wierszu poleceń.
Masz również możliwość korzystania ze środowiska uruchomieniowego ASP.NET 5 Core, aby Twoja biblioteka mogła działać na wielu platformach.
źródło