Le principal focus du package est les outils pour les développeurs mais il y a également un composant (un DLL) que quelques petits développeurs aimeraient redistribuer avec leur propre application. Il s'agit de code géré s'exécutant sous .NET 3.5.
Réponses
Trop de publicités?La manière la plus simple de dissuader les autres de réutiliser votre bibliothèque est de marquer toutes les classes comme "internes" et de marquer l'assembly de la bibliothèque avec l'attribut personnalisé InternalsVisibleTo. Cela vous permet d'énumérer spécifiquement quelles assemblies (dans votre cas chacun de vos outils de développement) peuvent appeler des méthodes internes. Toutes les autres assemblies (comme celles que les clients pourraient écrire) se verront refuser l'accès.
Cependant, si le client est assez déterminé, il peut utiliser d'autres techniques comme la réflexion ou l'ingénierie inverse du langage intermédiaire pour réutiliser votre bibliothèque. Mais cette technique les empêche d'utiliser directement votre bibliothèque.
L'obfuscation et la licensing sont les moyens 'standards' pour protéger vos assemblies
comme n'importe quelle serrure, quelqu'un peut trouver comment la déverrouiller, la question est à quel point vous voulez leur rendre difficile de le faire vs. combien d'efforts/d'argent vous voulez dépenser dans le processus