.csproj mehrere Hinweispfade für eine Assembly
Ich bin Verpackungs-Beispiel-code für ein SDK-distribution. In der Verteilung ist der relative Pfad von code, um die SDK-Baugruppen unterscheidet sich von der Baumaschine. Zum Beispiel:
Verteilung
csharp/bin/assembly.dll
example/ex1/ex1.csproj
Baumaschine
foo/sdk/csharp/bin/assembly.dll
bar/baz/quux/ex1/ex1.csproj
Davon ausgehen, dass ich kann nicht alles bewegen. Gibt es eine Möglichkeit, kann ich anweisen ex1.csproj
zu schauen in beiden
../../csharp/bin/
und ../../../../foo/sdk/csharp/bin/
für assembly.dll
?
In C++ würde ich die Abhängigkeit Weg in eine eigenständige Eigenschaft Blatt und verteilen Sie eine andere version mit dem SDK. Aber C# hat nicht die Eigenschaft der Blätter, und ich will nicht behaupten zwei Versionen des ganzen Projekts.
Ich habe gesehen,diese Fragedie besagt, dass ich nicht verwenden können mehrere <HintPath>
tags, also ich bin auf der Suche nach einem anderen Weg, um annähernd das gleiche Verhalten.
InformationsquelleAutor der Frage japreiss | 2013-03-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einfachste Weg, da nur EIN HintPath die verwendet werden können, um die alle-so-nice Condition-Attribut wie dieses:
Also die Antwort auf die Frage wäre:
Wenn mehrere Bedingungen zutrifft, wird das Letzte verwendet.
InformationsquelleAutor der Antwort Wolf5
Fand ich einen hacky-Lösung, die funktioniert für meinen Fall, wo das übergeordnete Verzeichnis wird garantiert anders sein, irgendwo oben auf dem Baum:
InformationsquelleAutor der Antwort japreiss
Fügen Sie den sekundären Pfad wie folgt vor, um die Allgemeine Eigenschaft der Gruppe. in die csproj-Datei
Den
ReferencePath
Eigenschaft soll angegeben werden, beim ausführen von MsBuild, aber es funktioniert gut, wie dieser.InformationsquelleAutor der Antwort Filip De Vos
Ich bin mit dieser Lösung ohne problem:
Habe es von hier:
verwenden Sie Hinweis relative Pfade Antwort von LeonidVasilyev
InformationsquelleAutor der Antwort JReis
Könnte man die subst
/csharp/bin
Ordner in einem Laufwerk, (anders als auf jeder Maschine), zum BeispielX:
und dann VerweisX:\
oderX:\bin
auf beiden Maschinen, wie der Pfad wird nun die gleichen.InformationsquelleAutor der Antwort Axarydax
Fügen Sie einfach die build-server Speicherort der DLLs als Referenz Pfad auf das Projekt. Scheint den trick tun gut und ist sehr einfach. Funktioniert nur, wenn Sie wissen, der build-server den Ordner mit den DLLs.
InformationsquelleAutor der Antwort BahaiResearch.com