Vytváření nových projektů knihoven specifických pro platformu pro NuGet
Projekty multiplatformní knihovny, které cílí na konkrétní platformy, jako je iOS a Android, fungují nejlépe se sdílenými projekty.
NuGet může obsahovat kód specifický pro iOS i Android i kód .NET společný pro oba.
Vytvoří se více sestavení a zabuduje do jednoho balíčku NuGet. Standardy NuGet zajišťují přidání balíčku do všech podporovaných typů projektů, jako jsou projekty Xamarin.iOS a Android.
Postup vytvoření nuGetu pro více platforem
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 Konkrétní platformu:
Dokončete práci v průvodci. Do řešení se přidají následující projekty:
- Android Project – Kód specifický pro Android lze volitelně přidat do tohoto projektu.
- Projekt pro iOS – kód specifický pro iOS lze volitelně přidat do tohoto projektu.
- Projekt NuGet – do tohoto projektu se nepřidá žádný kód. Odkazuje na ostatní projekty a obsahuje konfiguraci metadat pro výstup balíčku NuGet.
- Sdílený projekt – Do tohoto projektu by se měl přidat společný kód, včetně kódu specifického pro platformu uvnitř
#if
direktiv kompilátoru.
Klikněte pravým tlačítkem myši na projekt NuGet a zvolte Možnosti, otevřete část Metadata balíčku > NuGet a zadejte požadovaná metadata (a také všechna volitelná metadata):
Také v okně Možnosti projektu otevřete oddíl Referenční sestavení a zvolte profily PCL, které bude sdílená knihovna podporovat prostřednictvím "návnady a přepínače":
Poznámka:
"Návnada a přepínač" znamená, že sestavení PCL budou obsahovat pouze rozhraní API vystavené knihovnou (nemůže obsahovat kód specifický pro platformu). Při přidání NuGet do projektu Xamarin se sdílené knihovny zkompilují proti pcL, ale sestavení specifická pro platformu obsahují kód, který skutečně používá projekt iOS nebo Android.
Klikněte pravým tlačítkem na projekt 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/ (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 specifického pro platformu, který podporuje iOS a Android, a má vybraná dvě referenční sestavení: