Angenommen, Sie haben einen Namespace, der für mehr als ein Projekt in Ihrem Unternehmen im Format von "MyCompany.Core" nützlich ist, hätten Sie eine Assembly mit genau dem gleichen Namen oder nur "Core". Warum oder warum nicht?Assembly Benennungskonventionen
Antwort
Verwenden Sie die standardmäßigen .NET-Namenskonventionen. Die Assemblynamen lauten covered here. Ich werde Ihnen die (kurze) speichern lesen:
Sie Namen für die Assembly-DLLs wählen , die große Teile der Funktionalität vorschlagen wie System.Data. Assembly und DLL-Namen müssen nicht entsprechen Namespace-Namen, aber es ist sinnvoll, den Namespace Namen bei der Benennung von Baugruppen folgen.
Betrachten DLLs nach dem folgenden Muster Benennung:
<Company>.<Component>.dll
Wo<Component>
enthält ein oder mehrere Punkte getrennte Klauseln.Zum Beispiel Contoso.WebControls.dll.
Ich würde die Assembly das gleiche wie der Root-Namespace nennen. Dies macht es einfach herauszufinden, welcher Code in welcher Assembly ist, und verhindert Kollisionen mit anderen Projekten (von anderen Firmen), die möglicherweise auch den ambivalenten Namen "Core.dll" verwenden.
Ich glaube, es ist am besten (Meinung hier!), Um die Baugruppe nach dem Root-Namespace zu nennen, in Ihrem Fall MyCompany.Core.dll. Man weiß nie, ob diese Datei ihren Weg außerhalb des Unternehmens findet, und im allgemeinen ist es einfacher, den Überblick zu behalten.
Stellen Sie sich vor, wenn Microsoft System.Core namens nur Core.dll
(System.Core), dann musste man Core.dll
(MyCompany.Core) .... Sie sich vorstellen, wie das schnell behaarten bekommt.
Ich bevorzuge MyCompany.ApplicationName.Core.DLL, dies eliminiert die Chancen des Konflikts, wenn es zwei oder mehr Anwendungen von MyCompany gibt.
wenn in einer Unternehmensumgebung zu entwickeln, diese Konvention nützlich sein kann:...
Namespaces der [DomainEntityName] folgen [Assembly] [Zweck] [RelatedPurpose] Format, bei dem die DomainEntityName der Name Business-Funktionalität Wurzel ist und Der AssemblyName ist die Funktion, die die Business-Anforderung unterstützt.
Irgendwelche Tipps für die Montage Name Refactoring (Resharper?), Zumindest innerhalb der gleichen VS-Lösung? – Berryl
Projekt + Eigenschaften, Registerkarte Anwendung, Assemblyname. –