Ich habe eine c# .net Winforms-Lösung und ich möchte zwei verschiedene Builds erstellen: eine, die IE6 und eine, die IE7 unterstützt. Einige der Dateien in einem meiner Projekte unterscheiden sich für den IE6-Build im Vergleich zum IE7-Build, sodass ich die IE6-Dateien einschließen möchte, wenn ich für IE6 baue, und die IE7-Dateien, wenn ich für IE7 baue. Wie kann ich meine Lösung in dieser Situation am besten strukturieren?
Aufgrund anderer Einschränkungen möchte ich keine separate Assembly erstellen, die die gemeinsam genutzten Elemente enthält; ich möchte, dass das Projekt zu einer einzigen Assembly "foo.dll" kompiliert wird, unabhängig davon, welches Build ich erstelle.
Ich dachte, ich könnte einfach zwei getrennte Projekte erstellen, die nach "foo.dll" kompilieren, dann zwei Release-Konfigurationen erstellen und nur das relevante Projekt in die jeweilige Konfiguration aufnehmen. Allerdings müsste ich die Dateien, die die gleichen für IE6 und IE7 in beiden Projekten sind, und ich kann nicht sehen, wie eine einzelne Kopie einer Datei in zwei Projekten zu verwenden (wenn ich Vorhandenes Element hinzufügen es erstellt eine Kopie im Projektverzeichnis). Ich verwende SVN für die Versionskontrolle, so könnte vielleicht verwenden, dass die "Freigabe" zwischen Ordnern zu tun, aber bezweifeln, dass der beste Weg ist.
NB: Aufgrund von API-Unterschieden im IE sind verschiedene Builds erforderlich, deren Details für die Frage nicht relevant sind - glauben Sie mir einfach, dass zwei Builds erforderlich sind.