Sdílení kódu sdílených projektů

Sdílené projekty umožňují napsat běžný kód, na který odkazuje řada různých projektů aplikací. Kód je zkompilován jako součást každého odkazujícího projektu a může obsahovat direktivy kompilátoru, které pomáhají začlenit funkce specifické pro platformu do sdíleného základu kódu.

Sdílené projekty (někdy označované také jako Projekty sdílených prostředků) umožňují psát kód, který se sdílí mezi více cílovými projekty včetně aplikací Xamarin.

Podporují direktivy kompilátoru, abyste mohli podmíněně zahrnout kód specifický pro platformu, který se má zkompilovat do podmnožina projektů odkazujících na sdílený projekt. K dispozici je také podpora integrovaného vývojového prostředí (IDE), která pomáhá spravovat direktivy kompilátoru a vizualizovat, jak bude kód vypadat v každé aplikaci.

Pokud jste k sdílení kódu mezi projekty použili propojení souborů v minulosti, sdílené projekty fungují podobným způsobem, ale s mnohem vylepšenou podporou integrovaného vývojového prostředí (IDE).

Co je sdílený projekt?

Na rozdíl od většiny ostatních typů projektů nemá sdílený projekt žádný výstup (ve formuláři KNIHOVNY DLL), místo toho je kód zkompilován do každého projektu, který na něj odkazuje. To je znázorněno v následujícím diagramu – koncepčně se celý obsah sdíleného projektu zkopíruje do každého odkazujícího projektu a zkompiluje se, jako by byl součástí projektu.

Shared Project architecture

Kód ve sdíleném projektu může obsahovat direktivy kompilátoru, které povolí nebo zakáže oddíly kódu v závislosti na tom, který projekt aplikace používá kód, který navrhuje barevné rámečky platformy v diagramu.

Sdílený projekt se nezkompiluje samostatně, existuje čistě jako seskupení souborů zdrojového kódu, které lze zahrnout do jiných projektů. Když na tento projekt odkazuje jiný projekt, kód se v rámci tohoto projektu efektivně zkompiluje. Sdílené projekty nemohou odkazovat na žádný jiný typ projektu (včetně jiných sdílených projektů).

Mějte na paměti, že projekty aplikací pro Android nemůžou odkazovat na jiné projekty aplikací pro Android – například projekt testování jednotek pro Android nemůže odkazovat na projekt aplikace pro Android. Další informace o sdíleném projektu.

Visual Studio pro Mac Návod

Tato část vás provede procesem vytvoření a používání sdíleného projektu pomocí Visual Studio pro Mac. Kompletní příklad najdete v části Příklad sdíleného projektu .

Vytvoření sdíleného projektu

Pokud chcete vytvořit nový sdílený projekt, přejděte na Soubor > nové řešení... (nebo klikněte pravým tlačítkem na existující řešení a zvolte Přidat > nový projekt...):

New Shared Project

Na další obrazovce zvolte název projektu a klikněte na Vytvořit.

Nový sdílený projekt je zobrazen níže – všimněte si, že neexistují žádné odkazy ani uzly komponent; nejsou podporovány pro sdílené projekty.

Empty Shared Project

Aby byl sdílený projekt užitečný, musí na něj odkazovat alespoň jeden projekt schopný sestavení (například aplikace nebo knihovna pro iOS nebo Android nebo projekt PCL). Sdílený projekt se nezkompiluje, pokud na něj nic neodkazuje, takže syntaxe (nebo jakékoli jiné) chyby nebudou zvýrazněny, dokud na něj neodkazuje něco jiného.

Přidání odkazu na sdílený projekt se provádí stejným způsobem jako odkazování na běžný projekt knihovny. Tento snímek obrazovky ukazuje projekt Xamarin.iOS odkazující na sdílený projekt.

Project reference to Shared Project

Jakmile na sdílený projekt odkazuje jiná knihovna nebo aplikace, můžete vytvořit řešení a zobrazit případné chyby v kódu. Když na sdílený projekt odkazuje dva nebo více jiných projektů, zobrazí se v levém horním rohu editoru zdrojového kódu nabídka, která ukazuje, které projekty odkazují na tento soubor.

Možnosti sdíleného projektu

Když kliknete pravým tlačítkem myši na sdílený projekt a zvolíte Možnosti , méně nastavení než jiné typy projektů. Vzhledem k tomu, že sdílené projekty nejsou kompilovány (samy o sobě), nelze nastavit možnosti výstupu ani kompilátoru, konfigurace projektu, podepisování sestavení nebo vlastní příkazy. Kód ve sdíleném projektu efektivně dědí tyto hodnoty z toho, na co odkazuje.

Obrazovka Možnosti je zobrazená níže – název projektu a výchozí obor názvů jsou jedinými dvěma nastaveními, která obecně změníte.

Shared Project Options

Příklad sdíleného projektu

Příklad úkolu používá sdílený projekt k zahrnutí společného kódu používaného aplikacemi pro iOS, Android i Windows Telefon. Soubory zdrojového SQLite.cs TaskRepository.cs kódu využívají direktivy kompilátoru (např. #if __ANDROID__) k vytvoření jiného výstupu pro každou z aplikací, které na ně odkazují.

Kompletní struktura řešení je zobrazená níže (v Visual Studio pro Mac a sadě Visual Studio):

Projekt Windows Telefon lze procházet z Visual Studio pro Mac, i když tento typ projektu není podporován pro kompilaci v Visual Studio pro Mac.

Spuštěné aplikace jsou uvedené níže:

iOS, Android, Windows Phone examples

Shrnutí

Tento dokument popisuje, jak sdílené projekty fungují, jak se dají vytvářet a používat v Visual Studio pro Mac i v sadě Visual Studio, a zavedla jednoduchou ukázkovou aplikaci, která demonstruje sdílený projekt v akci.