2010-11-05 19 views
8

Bevor ich frage, lese ich this und this Threads. Keine Hilfe dort.Verweise auf verschiedene Baugruppen in verschiedenen Konfigurationen

Ich benutze Visual Studio 2003 (dies wird von meinem Arbeitgeber beauftragt), aber ich denke, Antworten auf spätere Versionen von VS könnten auch nützlich sein.

Stellen Sie sich vor, ich habe zwei .Net-Projekte: A - das ist eine Klassenbibliothek und B - das ist eine Anwendung. Klicken Sie in BI auf Hinzufügen Referenz, gehen Sie zu Projects Registerkarte und wählen Sie A. In diesem Szenario wird die Debug-Version von B auf die Debug-Version von A verweisen, und die Release-Version von B wird die Release-Version von A. Now verwenden Stellen Sie sich vor, dass anstelle von Projekt AI nur zwei Baugruppen haben - aD.dll und a.dll. Ich habe kein Projekt, das diese erstellt. Was ich tun möchte, ist, erzwingen, dass Debug-Version von B-Referenz aD.dll, und die Release-Version von B Referenz a.dll
Frage 1: Wie mache ich das?

Wenn ich eine DLL verweisen will, gehe ich zu add Referenz ->Durchsuchen und meine dll sehen. Aber ich muss nicht den vollständigen Pfad angeben, sondern den relativen Pfad.
Frage 2: Wie mache ich das?

Dies ist ein Notfall, danke im voraus :)

Antwort

14

Sie können dies die IDE nicht durch, aber Sie können es tun, um die CSPROJ Datei von Hand durch Hacking:

Wenn Sie hab bekam bereits einen Verweis auf, sagen wir, a.dll:

<Reference Include="a">...</Reference> 

... dann ein paar Bedingungen versuchen, wie folgt:

<Reference Condition="'$(Configuration)' == 'Release'" Include="a">...</Reference> 
<Reference Condition="'$(Configuration)' == 'Debug'" Include="aD">...</Reference> 

Edit: Hier ist eine Erklärung dessen, was man in einem <Reference> Element setzen können: http://msdn.microsoft.com/en-us/library/bb629388.aspx

+0

Vielen Dank. Und in diesem Fall kann ich den relativen Pfad angeben wie ** Include = "../../Assemblies/Debug/aD.dll"**? –

+0

Das 'Include =' ist der Name der DLL (ohne die Erweiterung), aber Sie können innerhalb des ' 'Elements setzen, was Sie wollen. Die IDE sollte bereits eine '' bereitgestellt haben. –

+0

Sparte mir eine Menge Ärger! – Benoittr

Verwandte Themen