Paylaşılan Projeler kod paylaşımı

Paylaşılan Projeler, bir dizi farklı uygulama projesi tarafından başvurulan ortak kod yazmanızı sağlar. Kod, başvuran her projenin bir parçası olarak derlenmiş ve platforma özgü işlevleri paylaşılan kod tabanına eklemeye yardımcı olacak derleyici yönergeleri içerebilir.

Paylaşılan Projeler (bazen Paylaşılan Varlık Projeleri olarak da adlandırılır), Xamarin uygulamaları da dahil olmak üzere birden çok hedef proje arasında paylaşılan kod yazmanıza olanak tanır.

Paylaşılan Projeye başvuran projelerin bir alt kümesine derlenecek platforma özgü kodu koşullu olarak ekleyebilmeniz için derleyici yönergelerini destekler. Derleyici yönergelerini yönetmeye ve kodun her uygulamada nasıl görüneceğini görselleştirmeye yardımcı olan IDE desteği de vardır.

Geçmişte projeler arasında kod paylaşmak için dosya bağlamayı kullandıysanız, Paylaşılan Projeler benzer şekilde çalışır ancak çok daha iyi IDE desteğiyle çalışır.

Paylaşılan Proje nedir?

Diğer proje türlerinin çoğundan farklı olarak, paylaşılan projenin çıkışı yoktur (DLL biçiminde), bunun yerine kod ona başvuran her projede derlenmiştir. Bu, aşağıdaki diyagramda gösterilmiştir: Kavramsal olarak Paylaşılan Proje'nin tüm içeriği başvuran her projeye "kopyalanır" ve bunların bir parçasıymış gibi derlenmiştir.

Shared Project architecture

Paylaşılan Projedeki kod, kodu hangi uygulama projesinin kullandığına bağlı olarak kod bölümlerini etkinleştirecek veya devre dışı bırakabilecek derleyici yönergeleri içerebilir. Bu, diyagramdaki renkli platform kutuları tarafından önerilir.

Paylaşılan Proje kendi başına derlenmez, yalnızca diğer projelere dahil edilebilecek kaynak kod dosyalarının bir gruplandırması olarak bulunur. Başka bir proje tarafından başvurulduğunda, kod bu projenin bir parçası olarak etkili bir şekilde derlenmiştir. Paylaşılan Projeler başka hiçbir proje türüne (diğer Paylaşılan Projeler dahil) başvuramaz.

Android uygulama projelerinin diğer Android uygulama projelerine başvuramadığını unutmayın; örneğin, bir Android birim testi projesi bir Android uygulama projesine başvuramaz. Paylaşılan Proje hakkında daha fazla bilgi için.

Mac için Visual Studio İzlenecek Yol

Bu bölümde, Mac için Visual Studio kullanarak Paylaşılan Proje oluşturma ve kullanma adımları gösterilir. Tam bir örnek için Paylaşılan Proje Örneği bölümüne bakın.

Paylaşılan Proje Oluşturma

Yeni bir Paylaşılan Proje oluşturmak için Dosya > Yeni Çözümü'ne gidin (veya mevcut bir çözüme sağ tıklayıp Yeni Proje Ekle...'yi > seçin):

New Shared Project

Sonraki ekranda proje adını seçin ve Oluştur'a tıklayın.

Aşağıda yeni bir Paylaşılan Proje gösterilmiştir; Başvurular veya Bileşen düğümleri olmadığına dikkat edin; Bunlar Paylaşılan Projeler için desteklenmez.

Empty Shared Project

Paylaşılan Projenin yararlı olması için, en az bir derleme yapılabilen proje (iOS, Android uygulaması veya kitaplığı ya da PCL projesi gibi) tarafından başvurulması gerekir. Paylaşılan Proje, başvuruda bulunan hiçbir şey olmadığında derlenmez, bu nedenle söz dizimi (veya diğer) hatalar başka bir şey tarafından başvurulana kadar vurgulanmaz.

Paylaşılan Projeye başvuru ekleme işlemi, normal bir Kitaplık projesine başvurmayla aynı şekilde yapılır. Bu ekran görüntüsü, Paylaşılan Projeye başvuran bir Xamarin.iOS projesini gösterir.

Project reference to Shared Project

Paylaşılan Projeye başka bir kitaplık veya uygulama tarafından başvuruldıktan sonra çözümü derleyebilir ve koddaki hataları görüntüleyebilirsiniz. Paylaşılan Projeye iki veya daha fazla başka proje tarafından başvurulduğunda, kaynak kod düzenleyicisinin sol üst köşesinde bu dosyaya hangi projelerin başvurduğunu gösteren bir menü görüntülenir.

Paylaşılan Proje Seçenekleri

Paylaşılan Projeye sağ tıklayıp Seçenekler'i diğer proje türlerinden daha az ayar olarak belirlediğinizde. Paylaşılan Projeler derlenmediğinden (kendi başlarına), çıktı veya derleyici seçeneklerini, proje yapılandırmalarını, derleme imzalamayı veya özel komutları ayarlayamazsınız. Paylaşılan Projedeki kod, bu değerleri bunlara başvuran öğeden etkili bir şekilde devralır.

Seçenekler ekranı aşağıda gösterilmiştir: Proje Adı ve Varsayılan Ad Alanı, genel olarak değiştirdiğiniz tek iki ayardır.

Shared Project Options

Paylaşılan Proje Örneği

Tasky örneği, hem iOS, Android hem de Windows Telefon uygulamaları tarafından kullanılan ortak kodu içeren bir Paylaşılan Proje kullanır. SQLite.cs Hem hem de TaskRepository.cs kaynak kodu dosyaları, bunlara başvuran uygulamaların her biri için farklı çıkışlar üretmek üzere derleyici yönergelerini (örn. #if __ANDROID__) kullanır.

Çözüm yapısının tamamı aşağıda gösterilmiştir (sırasıyla Mac için Visual Studio ve Visual Studio'da):

Bu proje türü Mac için Visual Studio derleme için desteklenmese bile Windows Telefon projesi Mac için Visual Studio içinden gezinilebilir.

Çalışan uygulamalar aşağıda gösterilmiştir:

iOS, Android, Windows Phone examples

Özet

Bu belgede Paylaşılan Projelerin nasıl çalıştığı, hem Mac için Visual Studio hem de Visual Studio'da nasıl oluşturulup kullanabilecekleri açıklanmış ve Paylaşılan Proje'nin nasıl çalıştığını gösteren basit bir örnek uygulama sunulmuştur.