Saschas Weblog

ESCde Developer Blog

  Home :: Kontakt :: RSS Feed
  30 Posts :: 0 Artikel :: 10 Kommentare :: 32 Trackbacks

Archiv

Post Kategorien

ESCde

ESCde Blogger

Mittwoch, 09. Mai 2007 #

Wer mit Visual Studio 2003 gearbeitet hat und die Vorzüge des Entwickelns unter Visual Studio 2005 einmal kennen gelernt hat, möchte eigentlich nicht mehr zurück. Trotzdem gibt es immer noch Projekte, die auf dem .Net Framework 1.1 laufen müssen. Ein Powertoy für Visual Studio 2005 hilft aus diesem Dilemma: MSBee. MSBee ist eine Erweiterung für MSBuild und steht für MSBuild Everett Environment. Everett war der Codename für das .NET Framework 1.1. Mit MSBee kann der Entwickler in Visual Studio 2005 entwickeln und das Projekt dann mit dem .Net Framework 1.1 kompilieren. Das funktioniert soweit auch ganz gut, solange man Codebibliotheken entwickelt. Für Windows Forms oder Asp.Net Seiten können die Visual Studio 2005 Designer nicht verwendet werden, weil diese die Steuerelemente für .Net 2.0 verwenden. Alle anderen Namensräume von .Net 2.0 können natürlich ebenfalls nicht verwendet werden, genauso wie z.B. partielle Klassen oder Generics, die ebenfalls unter .Net 1.1 noch nicht zur Verfügung standen. Auch die Intellisense von Visual Studio 2005 und die Hilfe passen sich nicht an .Net 1.1 an. 

Installationsvoraussetzungen für MSBee:

Um nach der Installation nun ein Projekt in Visual Studio 2005 zum Kompilieren mit dem .Net Framework 1.1 zu konfigurieren, müssen zunächst die MSBee .target Dateien in das Projekt geladen werden. Dazu sind folgende Schritte notwendig:

  • Das Projekt wie gewohnt erstellen, speichern und wieder schließen. 
  • Anschließend die Projektdatei (.csproj / .vbproj) in Notepad öffnen.

Bei einem C# Projekt:

  • folgende Zeile kurz vor Dateiende in der .csproj-Datei suchen:
    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 
  • Unmittelbar unter dieser Zeile muss folgende Zeile eingefügt werden: 
    <Import Project="$(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.CSharp.targets" />

Bei einem Visual Basic Projekt:

  • folgende Zeile kurz vor Dateiende der .vbproj-Datei suchen:
    <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  • Unmittelbar unter dieser Zeile muss folgende Zeile eingefügt werden: 
    <Import Project="$(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.VisualBasic.targets" />

Wenn das Projekt in Visual Studio wieder geöffnet ist, müssen in den Buildeinstellungen der Projekteigenschaften die Conditional compilation symbols den Wert FX1_1 besitzen.

Nun kann das Projekt kompiliert werden. Dabei wird die .Net Framework Version 1.1 verwendet.

Das Ergebnis kann man überprüfen, indem man die erzeugte DLL mit dem Microsoft .Net Framework IL-Disassembler öffnet (Start / All Programs / Microsoft .NET Framework SDK v2.0 / SDK Command Prompt / Ildasm)

Dort sieht man im Manifest der dll-Datei die Framework-Version, mit der die Datei kompiliert wurde.

 

[1]  MSBee, < 1 MB, http://www.microsoft.com/downloads/details.aspx?FamilyID=e0d0776f-25c4-444a-a6b9-71d06826f5b4&displaylang=en
[2] .Net Framework 1.1 Redistributable (Runtime), 24 MB, http://www.microsoft.com/downloads/details.aspx?familyid=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en
[3] .Net Framework 1.1 SDK, 106 MB, http://www.microsoft.com/downloads/details.aspx?familyid=9B3A2CA6-3647-4070-9F41-A333C6B9181D&displaylang=en