it-swarm.com.de

Verzeichnisstruktur für eine .NET-Lösung

Wir hatten kürzlich einen Besuch bei einem Auftragnehmer, der unsere Methodik zur Strukturierung von Projekten in Frage stellte. Bitte beachten Sie, dass ich mich speziell auf die Verzeichnisstruktur beziehe. Er schlug vor, die Microsoft-Richtlinien zu verwenden. Ich dachte, ich könnte in der Lage sein, "Microsoft-Richtlinien .NET-Projektverzeichnisstruktur" zu googeln und etwas Hilfreiches zu finden, dies hat sich jedoch als nicht der Fall erwiesen. So wie es aussieht, machen wir so etwas:

[Company.System.Feature]
  |-doc
     |Sandcastle project
  |-lib
     |Nuget packages
  |-src
    |-Project1 e.g. web
    |-Project2 e.g. business logic
    |-UnittestProject1
    |-Specs

Der Dokumentordner enthält eine Sandcastle-Lösung wie die hier beschriebene: https://www.codeproject.com/Articles/15176/Sandcastle-Help-File-Builder (siehe: absolute und relative Pfade). Daher enthält der Dokumentordner einen Hilfeordner, der die generierte Hilfedatei enthält. Der lib-Ordner enthält alle Nuget-Pakete.

Gibt es Microsoft-Richtlinien, die die Strukturierung einer Lösung empfehlen? Ich habe hier nachgesehen: https://stackoverflow.com/questions/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756309_789554 unter anderem. Die meisten Artikel und Fragen, die ich gelesen habe, scheinen 2007-2009 erstellt worden zu sein. Ich glaube, Nuget wurde 2010 eingeführt. Gibt es Microsoft-Richtlinien? Ich habe über etwas gelesen, das sich Tree Surgeon nennt, aber das scheint nicht mehr zu existieren: https://archive.codeplex.com/?p=treesurgeon .

Ich benutze TFS; Tempomat und DDD machen keinen Unterschied.

19
w0051977

Auf MSDN gibt es einige sehr alte offizielle Richtlinien . Diese sind jedoch veraltet. Wie auf der Seite steht: " Dieser Inhalt ist veraltet und wird nicht mehr gepflegt. Er wird mit freundlicher Genehmigung von Personen bereitgestellt, die diese Technologien noch verwenden. "Also würde ich empfehlen, dass Sie diese Richtlinien vermeiden.

Es wurde versucht, eine gemeinsame Lösungsstruktur über Project Scaffold zu definieren. Dies ist jedoch eher auf F # als auf C # ausgerichtet. Es hat sich jedoch nicht wirklich entwickelt und es gibt heutzutage kaum Anzeichen für eine Entwicklung der Ideen.

Die aktivsten und aktuellsten Richtlinien wird von David Fowler verwaltet, der Entwickler bei Microsoft im ASP.NET-Team ist. Diese Richtlinien werden von vielen Microsoft-Mitarbeitern verwendet, einschließlich der Roslyn-Teams (C # - und VB.Net-Compiler). Sie könnten es weitaus schlimmer machen, als diesen Ansatz zu wählen.

22
David Arno