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

  1. Vyberte Soubor > nové řešení (nebo klikněte pravým tlačítkem na existující řešení a zvolte Přidat > nový projekt).

  2. V části Multiplatformní knihovna zvolte multiplatformní knihovnu:>

    Screenshot shows Choose a template with Multiplatform Library selected.

  3. Zadejte název a popis a zvolte Jeden pro všechny platformy:

    Screenshot shows values entered for Name, Description, and Implementation.

  4. Dokončete práci v průvodci. V řešení se vytvoří jeden projekt knihovny.

  5. 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:

    Choose PCL or .NET Standard for library type

  6. V okně Možnosti projektu otevřete také část Metadata balíčku > NuGet a zadejte požadovaná metadata (a také všechna volitelná metadata):

    Enter required metadata

  7. 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):

    The NuGet package file will be saved in the bin folder either Debug or Release, depending on configuration

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:

Files contained in the NuGet package

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...:

Add platform implementation menu

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:

Add platform options such as iOS, Android, and Shared Project

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).