Vytvoření nové multiplatformní knihovny pro NuGet
Vytvoření projektu multiplatformní knihovny, který používá PCL nebo .NET Standard, znamená, že výsledný NuGet lze přidat do libovolného projektu .NET, který podporuje cílový profil, včetně ASP.NET projektů nebo desktopových aplikací pomocí WinForms, WPF nebo UPW.
Knihovna může obsahovat pouze kód podporovaný vybraným profilem PCL nebo .NET Standard a také všechny přidané balíčky NuGet. To je vhodné pro obchodní logiku a algoritmy, které lze vyjádřit zcela v knihovně základních tříd .NET.
Vytvoří se jedno sestavení a zabuduje se do balíčku NuGet.
Pokud později potřebujete funkce specifické pro danou platformu, můžete přidat projekty specifické pro danou platformu.
Postup vytvoření balíčku NuGet víceplatformní knihovny
Vyberte Soubor > nové řešení (nebo klikněte pravým tlačítkem na existující řešení a zvolte Přidat > nový projekt).
V části Multiplatformní knihovna zvolte multiplatformní knihovnu:>
Zadejte název a popis a zvolte Jeden pro všechny platformy:
Dokončete práci v průvodci. V řešení se vytvoří jeden projekt knihovny.
Klikněte pravým tlačítkem myši na nový projekt knihovny a pak vyberte Možnosti. Oddíl Obecné sestavení > umožňuje nastavit cílovou architekturu – zvolte profil .NET Portable PCL nebo verzi .NET Standard:
V okně Možnosti projektu otevřete také část Metadata balíčku > NuGet a zadejte požadovaná metadata (a také všechna volitelná metadata):
Klikněte pravým tlačítkem na projekt knihovny a zvolte Vytvořit balíček NuGet (nebo sestavte nebo nasaďte řešení) a soubor balíčku NuGet .nupkg se uloží do složky /bin/ (ladění nebo vydání v závislosti na konfiguraci):
Ověření výstupu
Balíčky NuGet jsou také soubory ZIP, takže je možné zkontrolovat interní strukturu vygenerovaného balíčku.
Tento snímek obrazovky ukazuje obsah NuGetu založeného na PCL – obsahuje pouze jedno sestavení PCL:
Přidání kódu specifického pro platformu
Projekty založené na PCL a projekty založené na .NET Standard nemůžou obsahovat odkazy specifické pro platformu (například funkce pro iOS nebo Android).
Pokud je potřeba rozšířit existující projekt PCL nebo projekt .NET Standard tak, aby zahrnoval kód specifický pro platformu, můžete to provést tak, že kliknete pravým tlačítkem myši na projekt a vyberete Přidat > implementaci platformy...:
Do řešení lze přidat jeden nebo více projektů platformy a stávající knihovna PCL nebo .NET Standard je možné volitelně převést na sdílený projekt:
Po převodu na sdílený projekt přejděte do části Referenční sestaveníbalíčku > NuGet Možnosti > projektu a ujistěte se, že jsou vybrané všechny požadované profily (aby byl NuGet nadále kompatibilní s projekty, ve které byl dříve použit).