Frage

Ich habe ein Projekt, das in einer Subversion-Repository gespeichert ist.

In diesem Repository, in einem anderen Ordner, habe ich eine Reihe von Bibliotheken, die ich in vielen meiner Projekte verwenden. Diese Bibliotheken werden als binäre Dateien gespeichert, dh. die DLL, PDB die und xml Jahre.

Hier ist ein Beispiel-Layout:

<repo-url>
    \Libraries
        \SQLite
        \SystemHooks
        \Moq

Im Anwendungsprojekt habe ich ein „Libs“ Verzeichnis hinzuzufügen, dann fügen Sie eine svn:. Externals Eigenschaft verweist auf das Verzeichnis in den Bibliotheken zu ziehen Ich brauche

Zum Beispiel für dieses Projekt arbeite ich jetzt an, die diese Frage aufgefordert werden, muss ich die SystemHooks Bibliothek, so in meiner app Projektordnerstruktur, es sieht nun wie folgt aus:

SketchingMode         <-- solution folder, other projects here as well
    SketchingMode     <-- app project folder
        libs
            SystemHooks

Das Schöne daran ist, dass ich leichter die Bibliotheken aktualisieren können, und verwenden Sie nur die -rXYZ Spezifizierer für die Definition Externen in neueren Versionen ziehen zu vermeiden, als ich bereit bin zu akzeptieren, und haben immer noch nur eine Kopie jede Datei / Version in meinem Repository.

Das Schlimme, in diesem besonderen Fall ist, dass einer der DLL im SystemHooks Verzeichnis (2, wenn ich die PDB auch will) muss in das Ausgabeverzeichnis kopiert wurde, nicht durch das Projekt verwiesen wird.

Referenzen als normal arbeiten, aber wenn ich eine der Dateien in diesem Verzeichnis als „Inhalt“ markieren und „Copy immer“ oder „Kopieren, falls neuere“, dann die Libs und SystemHooks Verzeichnisstruktur auch in das Ausgabeverzeichnis kopiert wird.

Als solche nach einem Build, meine On-Disk-Verzeichnisstruktur sieht wie folgt aus:

SketchingMode         <-- solution folder, other projects here as well
    SketchingMode     <-- app project folder
        libs
            SystemHooks
        bin
            Debug               <-- main build output here
                libs
                    SystemHooks <-- 1-2 files in here

Ist der einzige Weg, dies zu vermeiden, die Post-Build-Schritte zu verwenden und nur die notwendige Kopie Aussagen hinzufügen? Oder kann ich irgendwie die Projektdatei zwicken die vollständige Struktur wie das vermeiden Kopieren?

Nur um klarzustellen, in dem bin \ Debug-Verzeichnis, ich möchte nicht, eine weitere Schicht von Libs \ SystemHooks dort, und alle Dateien derzeit in das bin \ Debug kopiert werden \ Libs \ SystemHooks Ordner muss sein stattdessen mit dem bin \ Debug-Ordner kopiert.

War es hilfreich?

Lösung

Wie wäre es das Libs Verzeichnis auf das Niveau der Lösung Check-out , anstatt das Projekt? Das ist, was wir tun, da Bibliothek Baugruppen sind in der Regel durch mehrere Projekte verwendet werden; direkt innerhalb eines Projektes Verzeichnis platzieren würde nicht für eine hoch gemeinsam nutzbare Ressource machen.

SketchingMode solution
  SketchingMode proj
    bin
      Debug
      Release
  Libs
    SystemHooks
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top