Ich habe eine Visual Studio-Lösung. Derzeit ist es eine leere Lösung (= keine Projekte) und ich habe einige Lösungsordner hinzugefügt.
Lösungsordner scheinen nur "virtuelle Ordner" zu sein, da sie nicht wirklich im Dateisystem erstellt werden und sich Dateien in Lösungsordnern nur im selben Ordner wie die SLN-Datei befinden.
Gibt es eine Einstellung, die ich übersehen habe und die Visual Studio anweist, Lösungsordner als "echte" Ordner zu behandeln, dh sie im Dateisystem zu erstellen und Dateien darin zu verschieben, wenn ich sie innerhalb der Lösung in einen dieser Ordner verschiebe?
Edit: Danke. Dann mache ich einen Vorschlag für VS2010 :)
visual-studio
Michael Stum
quelle
quelle
Antworten:
Keine spezielle Einstellung. Ich denke nicht, dass es unterstützt wird.
Sie können echte Ordner in einem "Projekt" innerhalb der Lösung erstellen, jedoch nicht in der Lösung selbst.
quelle
Es gibt eine Problemumgehung, die sich tatsächlich wie erwartet verhält .
Getan. Jetzt spiegelt der Projektmappen-Explorer alle Änderungen im Dateisystem wider und umgekehrt (einschließlich Unterordner).
Ich (vermisse) benutze es für Spezifikationen, Dokumente, PM und einige DevOps-Skripte, die im Team geteilt werden. Es ist einfach zu entscheiden, was in die Quellcodeverwaltung einbezogen werden soll oder nicht, und (wenn es richtig eingerichtet ist) steht es nicht in Konflikt mit dem Build.
Ich weiß, dass die Funktion nicht für diesen Anwendungsfall vorgesehen ist, aber bis auf das möglicherweise irreführende "Projekt" -Symbol habe ich noch keinen Mangel an diesem Hack gefunden. Und es gibt immer noch Anwendungsfälle, in denen die von VS bereitgestellten klassischen (virtuellen) Lösungsordner in das Bild passen. Was denken Sie?
quelle
.*proj
Format unterstützt.Klicken Sie in Visual Studio 2017 im Projektmappen-Explorer auf das Symbol "Lösungen und Ordner". Diese Schaltfläche wechselt von der virtuellen "Lösungs" -Ansicht in eine "Quellansicht", die dem Layout von Ordnern und Dateien im Dateisystem entspricht. Wenn Sie einen neuen Ordner hinzufügen, wird der Ordner physisch am erwarteten Speicherort erstellt. .
quelle
Die gewählte Antwort legt nahe, dass es möglich wäre, tatsächliche Projekte anstelle von Lösungsordnern zu verwenden, erklärt jedoch nicht wirklich, wie. Ich denke, was ich hier beschreibe, ist möglicherweise der am wenigsten umständliche Weg, dies zu erreichen ... :-P
Das Problem mit regulären Projektdateien ist, dass sie schließlich von kompiliert werden
MSBUILD
. Und wenn Sie ein Projekt haben möchten, das nur nicht kompilierbare Dateien enthält, ist dies ein Problem.Vor einiger Zeit hat Visual Studio einen neuen Projekttyp eingeführt: Shared Project (Erweiterung .shproj). Dieser Projekttyp wird nicht standardmäßig kompiliert, sondern nur, wenn (und nur wenn) er von einem anderen Projekt referenziert wird.
Ein Teil des Tricks besteht darin , gemeinsam genutzte Projekte anstelle von Lösungsordnern zu verwenden . Es ist natürlich möglich , ein gemeinsames Projekt hinzuzufügen, wird nie von einem anderen Projekt verwiesen wird , bedeutet , dass wir das Problem oben dargestellten vermeiden können.
Mithilfe der
<None Include="**/*" />
Klausel in der .shproj-Datei können wir dann festlegen, dass alle neuen Dateien und / oder Unterordner automatisch wiedergegeben werden .Machen Sie also im Grunde Folgendes:
In meinem Fall habe ich beispielsweise eine DockerDev.shproj erstellt, damit ich einige Docker-bezogene Skripte gruppieren kann, die wir nur auf unseren Entwicklungsmaschinen ausführen:
Diese .shproj-Datei verfolgt jede Datei in einem beliebigen Unterordner dieses neuen
DockerDev
Ordners in meiner Lösung.Soweit ich sehen konnte, funktioniert diese Lösung ziemlich genau wie vom OP angefordert: Sie funktioniert als nicht kompilierbarer Verweis auf einen Ordner und spiegelt automatisch alle daran vorgenommenen Änderungen wider.
quelle
Sara Ford hat ein Makro beigesteuert, um dies hinzuzufügen. Wenn Sie in Visual Studio 2010 Ihren Makro-Explorer öffnen, wird ein Makro mit dem Namen "GenerateSlnFolderOnDirStructure" angezeigt. Dadurch wird die Erstellung der Lösungsordner automatisiert und die Dateien hinzugefügt.
quelle
Ordner zum Lösungsordner Von Cecilia Wirén - CeciliaSHARP
Entfernen Sie den Aufwand, mehrere Dateien zum Lösungsordner hinzuzufügen. Verwenden Sie einfach das Kontextmenü für die Lösung und direkt unter der Option zum Erstellen eines neuen Lösungsordners finden Sie jetzt "Ordner als Lösungsordner hinzufügen". Dadurch wird ein Lösungsordner mit demselben Namen erstellt, den Sie ausgewählt haben, und die Elemente in diesem Ordner werden dem Lösungsordner hinzugefügt. Dadurch werden die Dateien auf der Festplatte nicht verschoben.
quelle
Nein, es wird nicht unterstützt. Wie Sie vermutet haben, sind Lösungsordner einfach virtuelle Untereinträge in der SLN-Datei, die nichts mit dem Dateisystem zu tun haben.
quelle
Visual Studio unterstützt dies nicht. Ich habe eine Erweiterung erstellt, die für VS2013 etwas Ähnliches tut. Es ordnet Lösungsordner physischen Ordnern auf Ihrer Festplatte zu, obwohl die Zuordnung eine Möglichkeit ist (von der Festplatte zur Lösung). Das bedeutet, dass der Inhalt eines Lösungsordners den Inhalt des Festplattenordners widerspiegelt und nicht umgekehrt.
Wenn dies nicht im Weg ist, kann die Erweiterung dennoch nützlich sein. Es unterstützt das Zuordnen von Lösungsordnern zu physischen Ordnern, das Filtern von Dateien und Verzeichnissen basierend auf regulären Ausdrücken und das Speichern von Zuordnungen in Ihrer SLN-Datei. Die Eigenschaften sind nicht aufdringlich, sodass Entwickler ohne Erweiterung die SLN weiterhin öffnen können und nicht betroffen sind.
Gehostet in der Visual Studio-Galerie: https://visualstudiogallery.msdn.microsoft.com/69e19ea6-4442-4cb6-b300-044dd21f02bd
Bearbeiten: Auf Bitbucket hochgeladen. Jetzt Open Source. MIT-Lizenz. https://bitbucket.org/LSS_NorthWind/physical-solution-folders
quelle
Hinweis: Ja, dies ist möglich. Sie können einen Ordner im Stammverzeichnis erstellen, aber es ist ein bisschen schwierig.
Wenn Sie zusätzliche Anstrengungen unternehmen, können Sie dies tun. Wie? Folgen wir dem Schritt ...
6. Nehmen Sie das Repository an einem neuen Ort.
Du bist fertig...
Wenn Sie Ihren Ordner immer noch nicht sehen können -----
Herzlichen Glückwunsch, Sie sind fertig ..
Wenn Sie auf ein Problem stoßen, schreiben Sie mir einfach um Hilfe.
quelle
Erstellen Sie "Lösungsordner". Dadurch wird ein logischer Ordner erstellt, jedoch kein physischer. Klicken Sie mit der rechten Maustaste auf den Lösungsordner und öffnen Sie einen neuen Projektdialog. Bevor Sie jedoch auf OK klicken, müssen Sie einen Projektspeicherort in den gewünschten physischen Ordner ändern. VS erstellt ihn und platziert das Projekt darin.
quelle
Sie können echte Ordner hinzufügen, indem Sie "Neuen Filter hinzufügen" für eine Visual Studio-Projektdatei auswählen. Sie können auch "Neuen Filter hinzufügen" unter einem vorhandenen Ordner ausführen. Benennen Sie den Ordner nach dem Erstellen um und fügen Sie eine Quell- oder Header-Datei oder eine Datei hinzu, die zu Ihrem Projekt passt. Dies ist eine mir bekannte Möglichkeit, mit der wir über die Visual Studio-IDE echte Ordner erstellen können.
quelle
Der unter der Lösung erstellte Ordner ist wie gesagt virtuell. Möglicherweise wird dies als Problemumgehung bezeichnet, aber Sie können den Ordner entweder vor oder nach dem Hinzufügen eines neuen Elements / Projekts physisch auf der Festplatte erstellen, und Robert sollte ein Geschwister Ihres Vaters sein.
Bei näherer Betrachtung sollte ich vielleicht erklären, dass "Bob ist dein Onkel" deine Geldstrafe / Sortierung bedeutet.
quelle
Ich wollte diese Funktion selbst ein paar Mal, aber am Ende des Tages möchten Sie wirklich NICHT die Fähigkeit, dies zu tun. Stellen Sie sich Ihre Lösung (Datei) als Stamm einer Webanwendung vor und stellen Sie sich Lösungsordner als virtuelle Verzeichnisse vor (wörtlich und funktional). Der Inhalt eines virtuellen Webverzeichnisses kann sich physisch auf einem anderen Server befinden. In Visual Studio wurde das Konzept der Lösungsordner durcheinander gebracht, indem Sie neue Dateien im Ordner erstellen konnten. Sie sollten beim Hinzufügen von Inhalten immer "Vorhandene hinzufügen". Wenn Sie vorhandene hinzufügen, wird ein Link zum Quellspeicherort der Datei erstellt.
Der Grund, warum Sie nicht möchten, dass sich Lösungsordner wie "physische" Ordner verhalten, liegt darin, dass Ihr Lösungslayout möglicherweise nicht unbedingt dieselbe Konvention wie Ihr Versionsverwaltungslayout verwendet. Mit Lösungsordnern können Sie die Hierarchie Ihrer Projekte so anpassen, dass Sie Projekte und Elemente nach Belieben gruppieren und dann entscheiden können, dass sie Ihnen nicht gefallen, und sie erneut ändern, ohne den Albtraum des Verschiebens von Quellcodeverwaltungselementen durchlaufen zu müssen herum und irritiert den Rest Ihres Teams.
quelle
src
,test
,tools
, etc. Sie würden auf jeden Fall wollen Sie Ihren Punkt , dass die Entscheidung am Projekt Anfang machen über das Team zu irritieren, aber das gilt für fast jede architektonische Entscheidung.Ich habe eine kleine Problemumgehung dafür (es ist nicht großartig, aber es funktioniert).
Es ist nicht großartig, weil Sie die Dateiverweise manuell pflegen müssen, aber es funktioniert für mich.
quelle