La première chose que je recommande est de se familiariser avec les différences entre l'Assemblée de la version et de la version du Fichier. Malheureusement, .NET a tendance à les considérer comme de la même quand il s'agit de la AssemblyInfo les fichiers qu'il ne met AssemblyVersion et permet à l'FileVersion par défaut pour la même valeur.
Depuis que vous avez dit, c'est un partage de l'assemblée, je suis en supposant que vous dire qu'il est partagé à un niveau binaire (pas y compris par le projet dans les différentes solutions). Si c'est le cas, vous voulez être très délibérer sur la modification de la version de l'Assembly que c'est ce que .NET utilise nom fort à l'assemblée (pour vous permettre de le mettre dans le GAC) et également le "nom complet de l'assemblée". Lors de l'assemblée des changements de version, il peut avoir des modifications importantes pour les applications qui l'utilisent sans ajouter de l'assemblée rediriger les entrées dans l'application.fichier de configuration.
Comme pour les nommer, je pense que ça dépend de ce que votre entreprise les règles de nommage sont (le cas échéant) et de l'usage de la bibliothèque. Par exemple, si cette bibliothèque offre "de base" (ou de niveau système) fonctionnalité qui n'est pas spécifique à un produit particulier ou d'une entreprise, vous pouvez le nommer comme:
CompanyName.Framework.Core
si elle fait partie d'une grande bibliothèque, ou tout simplement
CompanyName.Shared
CompanyName.Core
CompanyName.Framework
Aussi loin que lorsqu'pour incrémenter les numéros de version, c'est toujours subjectif et dépend de ce que vous considérez chaque partie de la construction pour les représenter. La valeur par défaut de Microsoft régime est Majeure.Mineure.Construire.Révision, mais cela ne signifie pas que vous ne pouvez pas venir avec vos propres définitions. La chose la plus importante est d'être cohérent dans votre stratégie, et assurez-vous que les définitions et les règles de sens pour l'ensemble de vos produits.
Dans presque toutes les versions de schéma que j'ai vu les deux premières parties sont Majeures.Mineure. Le numéro de version majeure habituellement s'incrémente quand il y a de grands changements et/ou modifications importantes, tandis que le numéro de version mineure généralement incréments pour indiquer que quelque chose a changé qui n'était pas d'une modification de rupture. Les deux autres numéros sont beaucoup plus subjective et peut être le "build" (ce qui est souvent une série de valeur de date ou d'une manière séquentielle mise à jour nombre qui change chaque jour) et la "révision" ou de numéro de patch. J'ai aussi vu inversé (en donnant des Grands.Mineure.La révision.Build) où la construction est un séquentiellement nombre d'incrémentation d'un système automatisé de construction.
Gardez à l'esprit que l'assemblée versions majeures et mineures sont utilisés comme la bibliothèque de type numéro de version lors de l'assemblée est exporté.
Enfin, jetez un oeil à certaines de ces ressources pour plus d'informations:
http://msdn.microsoft.com/en-us/library/51ket42z.aspx
http://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.aspx
http://blogs.msdn.com/suzcook/archive/2003/05/29/57148.aspx