Wir hatten kürzlich einen Auftragnehmerbesuch, 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 wäre in der Lage, "Microsoft-Richtlinien .NET-Projektverzeichnisstruktur" zu googeln und etwas Hilfreiches zu finden, dies hat sich jedoch als nicht der Fall erwiesen. Zum jetzigen Zeitpunkt 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 doc-Ordner 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 doc-Ordner einen Hilfeordner, der die generierte Hilfedatei enthält. Der lib-Ordner enthält alle Nuget-Pakete.
Gibt es Microsoft-Richtlinien, die empfehlen, eine Lösung zu strukturieren? Ich habe hier gesucht: /programming/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756309_789554 unter anderen Orten. Die meisten Artikel und Fragen, die ich gelesen habe, scheinen von 2007 bis 2009 erstellt worden zu sein. Ich glaube, Nuget wurde 2010 eingeführt. Gibt es Microsoft-Richtlinien? Ich habe über etwas namens Tree Surgeon gelesen, aber dieses scheint nicht mehr zu existieren: https://archive.codeplex.com/?p=treesurgeon .
Ich benutze TFS; Cruise Control und DDD machen dabei keinen Unterschied.
quelle
packages
für Projekte im Dotnetcore- und VS2017-Stil nicht mehr dazu. Sie befinden sich jetzt in denobj
Verzeichnissen der Projekte .Antworten:
Bei 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 Personen zur Verfügung gestellt, die diese Technologien noch verwenden. " Ich empfehle daher, diese Richtlinien zu vermeiden.
Es wurde versucht, über Project Scaffold eine gemeinsame Lösungsstruktur zu definieren . Dies ist jedoch eher auf F # als auf C # ausgerichtet. Es hat sich jedoch nicht wirklich bewährt und es gibt heutzutage kaum Anzeichen dafür, dass sich die Ideen weiterentwickeln.
Die aktivsten und aktuellsten Richtlinien werden 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 übernehmen.
quelle