Wie kann man haben Entwickler auf VS2008 Ziel .NET 2.0 (aber das Service Pack nicht zu vermeiden) Laufzeit abstürzt?

StackOverflow https://stackoverflow.com/questions/1357472

Frage

Also, ich möchte mein Entwicklungsteam VS2008 aktualisieren. Als Unternehmen haben wir die 3.5-Laufzeit noch nicht ausgerollt.

Von etwas zu lesen, scheint es, wie die Installation von VS2008 werden Sie automatisch 2.0 SP1 geben .net, die einige neue APIs hat, und wenn man 2.0 Runtime Ziel wird es 2.0 SP1 übernehmen.

Aber wenn SP1 ist für unsere Nutzer nicht ausgerollt, dies zu Laufzeitpausen führen wird.

  1. Gibt es trotzdem VS Ziel Dotnet 2.0 (NICHT SP1) haben?
  2. Gibt es andere Lösungen für dieses Problem, so dass Entwickler keine APIs verwenden, die kompilieren und ausführen feine lokal, sondern in der Produktion der Luft sprengen?

Ich sehe, dass FxCop einen Scheck für das hat, aber es muss eine narrensichere Lösung für dieses Problem sein.

War es hilfreich?

Lösung

Dies kann schwierig oder einfach sein. Wir gingen beide Routen:

  1. Die einfache Lösung: Stellen Sie einen Build-Server, der nur .NET 2.0 installiert ist. Automatisieren Sie die Build beim Check-in laufen (wir verwenden CruiseControl.Net). Sie MSBuild haben von der Eingabeaufforderung verwenden, um die Projekte zu erstellen.

  2. Für Maschinen mit 3.5 viele der MSBuild-Tools installiert sind sogar ersetzt, wenn Sie die MSBuild aus dem .NET 2.0 Framework-Verzeichnis ausgeführt. Um dies zu vermeiden, müssen Sie eine Anwendung erstellen, dass Kräfte der fortgesetzte Nutzung der .Net 2.0 Laufzeit nur. Das ist nicht einfach. Sie laden direkt die Projekte und rufen Sie das das Build der Microsoft.Build verwenden. * Rahmen. Das allein ist noch nicht genug. Sie müssen die Baugruppen stecken Sie in Ihre CONFIG-Datei verwenden möchten:

                                                                                  ... ect ...        

BTW, können Sie auch mit Projekten haben Problem neu in VS2008 erstellt eine Eigenschaft namens „MSBuildToolsPath“ erwartet, die definiert werden müssen. Sie können dies auf der Kommandozeile definieren, wenn MSBuild verwenden, oder es programmatisch festlegen, ob die zweite Option:

engine.GlobalProperties.SetProperty( "MSBuildToolsPath", msbuildPath );

Andere Tipps

Vielleicht ist das supportedRuntime Konfigurationselement lohnt sich, einen Blick auf haben. Aber ich bin nicht sicher, ob diese helfen kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top