2

Gibt es einen geeigneten Platz in einer Visual Studio-Lösung für .exes, die von Ihrer Lösung benötigt wird. Ich arbeite zum Beispiel an einem Tool, das VHDCreate.exe, ISOCreate.exe, OSClone.exe und andere exes benötigt. Was ist der richtige Weg, sie in eine Lösung zu integrieren? Ich habe eine Lösung geerbt, bei der sie nur in einem Ordner im Business-Schicht-Projekt der Lösung stecken bleiben.Visual Studio-Lösungen - der richtige Speicherort für Utility-EXEs, die von Ihrer Lösung benötigt werden

Ich bin mit Visual Studio 2010.

Antwort

2

mich auf der Ebene der Lösung ein gut organisierten Tools Ordner mit vermuten wäre. Dann können Sie einen Lösungsordner verwenden, um ihn getrennt von den anderen Projekten zu organisieren.

+0

Kann das leicht in einen Installer integriert werden? oder funktioniert das nur für XCopy-Bereitstellungen? – BuddyJoe

+0

oh ich dachte, du beziehst dich auf Builds ... du solltest wirklich Merge-Module für deine Installationen haben. –

+0

Stellen Sie sicher, dass Sie sie im Solution Explorer als 'Copy if neuhered 'markieren. – ja72

0

Dies ist mit einem nativen .dll, aber das Konzept ist das gleiche.

  • In Lösung und wählen Sie einen beliebigen Ordner, wo Binärdateien existieren vorhandenes Element:

Add Existing

  • Wählen Sie als Link hinzufügen aus, was auch immer Ordner außerhalb Lösung halten Sie die Binärdateien

Add as Link

  • Setzen Sie sie im Lösungsexplorer auf Copy if newer.

Solution Explorer

  • Die .exe oder .dll wird den Buildausgabeordner kopiert werden, wenn nötig.

Output Folder

  • Wenn das Original .exe der Build aktualisiert wird die neuere Version in den Ausgabeordner ziehen wird.
0

Sie möchten vielleicht Mike Roberts Serie lesen, Wie eine .NET-Entwicklungsbaum Bis setzen. Die Art und Weise, wie Visual Studio standardmäßig funktioniert, ist meiner Meinung nach im Wesentlichen kaputt.

Einzeln *.pdf: How to Set Up a .Net Development Tree

Grundsätzlich sollte die Verzeichnisstruktur wie folgt aussehen:

  • Meta/Development Root
    Gewöhnlich bis Wurzel des Quellkontrollsystem abgebildet.
    • Solution
      Ein Verzeichnis enthält Ihre gesamte Lösung. Sollte benannt werden, um der Lösung zu entsprechen.
      • Solution.sln
        Die Lösung Datei selbst.
      • nant.build
        Die nAnt-Build-Datei für die Lösung.
      • lib
        Das Verzeichnis lib enthält 3rd Party Assemblies/DLLs, auf die die verschiedenen Projekte in Ihrer Lösung verweisen. Es steht unter Quellcodeverwaltung. Projektreferenzen sollten hier zeigen.
      • tools
        Das tools Verzeichnis enthält alle 3rd-Party-Tools benötigt, um Ihre Lösung zu erstellen. Auch sie steht unter Kontrolle der Quelle. Das Verzeichnis tools sollte die Versionen nAnt, nUnit usw. enthalten, die von Ihrem Projekt — verwendet werden, und Ihre Build-Skripts sollten auf diese verweisen und nicht auf die Version (en), die auf dem Computer eines Entwicklers installiert sind.
      • bin
        bin Das Verzeichnis enthält die Ausgabe des Erstellungsprozesses für die Lösung. Jedes Projekt muss konfiguriert werden, um hier zu zeigen.
        • debug
          Debug-Build
        • release
          Release-Build
      • obj
        In der idealen Welt, jedes obj Projekt zeigt hier würde auch dies keinen Platz in dem Quellbaum hat. Leider bietet Visual Studio keinen offiziellen Weg dazu (obwohl mir gesagt wurde, VS kann gehackt werden, wenn man einfallsreich genug ist).
      • src
        Das src Verzeichnis ist das Stammverzeichnis für den eigentlichen Quellcode Ihrer Lösung.
        • project1
          Das Verzeichnis für project1.
          • project .csproj`
            Die Projektdatei.
          • *.cs usw. Dateien. Die Quelldateien.
        • ...
        • project-n

Wie einzelne Projekte zu strukturieren ist, glaube ich, ein ganz anderes Thema, aber sollte es sein, WRT Sowohl die Lösung als auch das Individuum projizieren eine Korrespondenz zwischen Namespace und Dateisystemhierarchie.Wenn für ein bestimmtes Projekt eine Assembly von Drittanbietern erforderlich ist, die anderen Projekten in der Projektmappe nicht zur Verfügung stehen soll, kann für jedes Verzeichnis dieses Projekts ein eigenes Verzeichnis in seinem eigenen Verzeichnis lib erstellt werden, das jedoch 3rd-Party-Assemblies im Quellbaum streut also ist nicht zu empfehlen.

Verwandte Themen