Was ist der Unterschied zwischen den beiden?Unterschied zwischen Root-Namespace und Assemblyname
Antwort
Angenommen, Sie sprechen über .NET (in Bezug auf Visual Studio), dann ist der Root-Namespace Teil jeder Klasse, die Sie in einem Visual Studio-Projekt erstellen. Es ist auch die Basis für alle Sub-Namespaces, die beim Erstellen einer Klasse innerhalb eines Projektordners automatisch zugewiesen werden.
Mit einem Basisnamespace von ACMECorp.Bombs würden alle Ihre Klassen also Teil des ACMECorp.Bombs-Namespace werden, so dass die Klasse GravityBomb den vollständigen Namen ACMECorp.Bombs.GravityBomb haben würde. Eine Klasse namens FlyingBomb, die in einem Projektordner mit dem Namen "GuidedBombs" erstellt wurde, hätte den vollständigen Typnamen ACMECorp.Bombs.GuidedBombs.FlyingBomb.
Die Versammlung Name ist einfach der Name der kompilierten Datei, die Ihr Code entweder als ausführbare Datei oder Bibliothek etc ...
Eine Frage, die ich oft auf diese sehe kompiliert wird, ist sollte Ihr Assemblierungsnamen ist der gleiche wie der Root-Namespace und auch der Name Ihres Projekts (wieder im Visual Studio). Früher war ich der Ansicht, dass ein Projektname genauso wie der Assemblyname dem Root-Namespace entsprechen sollte, genauso wie es bei Visual Studio der Standard ist. Allerdings, wenn Sie einige wichtige Refactoring und Umbenennung tun müssen, kann dies zu einem Schmerz in der Penner werden, vor allem, wenn Sie Quellcodeverwaltung verwenden (wie Sie dann beginnen sollten, die Projektordner umbenennen).
Mein Vorschlag wäre, dass Ihr Projektname einfach ein beschreibender Name des Inhalts des Projekts ist. Ihre Montage Name sollte der Technologiebereich bestehen und Komponentenbeschreibung oder Firmennamen und Technologiebereich (je nach preferance), und die Wurzel-Namensraum, wie durch die Microsoft-Benennungsstandards so beschrieben werden:
Projekt: Biometrische Device Access
Montage: BiometricFramework.DeviceAccess.dll
Namespace: ACME.BiometricFramework.DeviceAccess
Einige Referenzmaterial für Sie:
http://blogs.msdn.com/brada/archive/2003/04/19/49992.aspx
In .NET Framework wird die System-Namespace über eine Anzahl von Baugruppen aufgeteilt, insbesondere mscorlib.dll &-System .dll
- 1. In MsBuild, was ist der Unterschied zwischen Property und ItemGroup
- 2. Unterschied zwischen Vorzeichen & und *?
- 3. VBA: Unterschied zwischen & und +
- 4. Unterschied zwischen "**/* /" und "** /"?
- 5. Unterschied zwischen $ # und $ {# @}
- 6. Unterschied zwischen = und: =
- 7. Unterschied zwischen '#', '%' und '$'
- 8. MySQL: Unterschied zwischen ', `,' und '
- 9. C++ Unterschied zwischen '//' und '///'
- 10. Unterschied zwischen String.Empty und ""
- 11. Unterschied zwischen `% in%` und `==`
- 12. Unterschied zwischen numpy.logical_and und &
- 13. Unterschied zwischen. und #
- 14. Unterschied zwischen // und http: //
- 15. Unterschied zwischen -Wconversion zwischen gcc und g ++
- 16. C# MVC + Reflexion: Exposing Assemblyname
- 17. Unterschied zwischen Wörterbuch und Hashtable
- 18. Unterschied zwischen FetchMode und FetchType
- 19. Unterschied zwischen Application_Start und Application_OnStart
- 20. Unterschied zwischen Uint8Array und Uint8ClampedArray
- 21. Unterschied zwischen BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION?
- 22. Unterschied zwischen Suche und Index
- 23. Unterschied zwischen AJAX und Senden
- 24. Unterschied zwischen Spekulation und Vorhersage
- 25. Unterschied zwischen inproc und outproc
- 26. Unterschied zwischen Clojure und Clojurescript?
- 27. Unterschied zwischen NSArray und NSMutableArray
- 28. Unterschied zwischen libcurl und libsoup
- 29. Unterschied zwischen DirectoryCatalog und AssemblyCatalog
- 30. Unterschied zwischen * y ++ und ++ * y?