.net Applikationen

Zusammengefasst aus dem Artikel Sharing Silverlight Assemblies with .NET Apps aus dem CLR Team Blog von Miguel Madero.

Schon auf der PDC wurde angekündigt, dass die Version 4 von Silverlight es ermöglichen wird, Bibliotheken zu Implementieren, die sowohl von Silverlight 4 als auch von der .NET 4 CLR verwendet werden kann.

Das beschränkt sich allerdings auf die Verwendung von derzeit vier SL4-Bibliotheken, die als Referenz zu einem SL4-Projekt hinzugefügt sein dürfen.

  • Mscorlib
  • System
  • System.Core
  • System.ComponentModel.Composition
  • Microsoft.VisualBasic

Wird nun eine SL4 Bibliothek unter Verwendung dieser Bibliotheken erstellt, kann diese auch von einer .NET 4 Applikation verarbeitet werden.  SL4 goes .NET4 und nicht umgekehrt! Das liegt daran, dass die gleichnamigen .NET Bibliotheken über einen deutlich größeren Umfang an Typen verfügen.

Dieses Eigenschaft wird von den MS Leuten als “assembly portability” bezeichnet.

Diese neuen Mglichkeiten zielen hauptsächlich auf die Implementierung einer Geschäftslogik oder Datenverarbeitung ab, die dann in beiden Lagern verwendet werden kann. Die Unterschiede im Bereich der Grafik zwischen WPF und SL sind derzeit (und wird wohl auch so bleiben) zu groß, um hier eine Portabilität herzustellen.

Vorgehensweiße im Visual Studio:

  1. Projekte erstellen
    a) .NET WPF Anwendung
    b) Silverlight class library hinzugefügt
    c) Silverlight Projekt erstellt
  2. Referenzen zur Bibliothek hergestellt.
  3. Implementieren
  4. Starten

Nachgeschaut und überprüft:
Fungiert auch mit Studio 2008, SL3 und .NET3.5. Man konnte die Referenz zur SL4-Lib sogar auf das Studioprojekt angeben und musst nicht direkt die DLL referenzieren. Eine statische “return Hallo Methode” konnte problemlos angesprochen werden.

Mit Studio 2010, SL4 und .NET 4 klappte das nicht so reibungslos. Hier musste man direkt die DLL als Referenz hinzufügen, das galt auch bei einer SL3-DLL.