Shared Project
Eintrag zuletzt aktualisiert am: 08.07.2014
Shared Project (alias Shared Asset Project) ist ein neuer Projekttyp für gemeinsamen Code und andere Artifakte in mehreren Projekten. Shared Project wurden in
Visual Studio 2013 Update 2 eingeführt wurde als Alternative zur
Portable Class Library (
PCL).
Es geht um die Herausforderung, dass es inzwischen zahlreiche Varianten von Microsoft .NET gibt (
.NET Framework, Silverlight, .NET für
Windows Apps,
Xamarin, .NET für XBox, etc.). Eine Anwendung/App für alle diese .NET-Varianten in einem Visual Studio-Projekt zu schaffen, ist unmöglich.
Der Ansatz der
Portable Class Library (
PCL) ist es, nur den kleinsten gemeinsamen Nenner aller .NET-Varianten in einem Projekt zu haben. Diese PCl wird in eine
DLL kompiliert, die auf allen Plattformen läuft. Darüberhinaus gibt es spezifische Projekte für jede Zielplattform. Die spezifischen Projekte referenzieren die
PCL. Leider sind
PCLs sehr eingeschränkt, weil sie keinerlei spezifischen Code für eine Plattform enthalten können.
Beim Shared Project gibt es auch die Aufteilung in ein gemeinsames Projekt und plattformspezifischen Code. Das gemeinsame Code wird aber nicht in eine eigenständige
DLL kompiliert, sondern nur im Rahmen der plattformspezifischen Projekte kompiliert. So kann hier auch plattformspezifischer Code verwendet werden. Innerhalb des Shared Project kann mit
Compilerdirektiven zwischen den verschiedenen Plattformen unterschieden werden.