2009-08-29 7 views
0

Est-il possible de faire en sorte que mon application ne puisse pas être utilisée comme référence dans d'autres projets visuels? Mon application a été créée en utilisant Visual C#, si vous aviez besoin de savoir. Merci!Dissoudre l'application à référencer ...?

+0

Que voulez-vous dire? Ne fais rien publiquement. Qu'est-ce que vous essayez d'empêcher? –

Répondre

2

Vous ne pouvez pas interdire à une autre application de référencer vos DLL.

Si vous vouliez le rendre plus difficile à utiliser, vous pourriez rendre toutes vos méthodes et classes privées ou internes. Si vous avez des assemblages qui doivent le référencer, vous pouvez en faire des assemblys amis, ce qui leur donnerait accès à vos internes. Vous pouvez également jeter un oeil à obfuscating votre code using these free .NET obfuscators.

+0

La signature de vos assemblées ne va-t-elle pas vous aider? – DataDink

+0

Si vous l'utilisez avec InternalsVisibleTo, oui, je crois que ce serait le cas. – Brandon

0

Il n'y a aucun moyen d'empêcher les autres d'utiliser vos assemblys s'ils peuvent avoir les mains sur eux d'une manière ou d'une autre. L'obscurcissement rendra plus difficile (mais pas impossible) l'ingénierie inverse du code, mais si elles veulent juste déchirer votre fonctionnalité, même l'obfuscation ne va pas le couper. L'utilisation de modificateurs d'accès empêche les autres utilisateurs d'utiliser votre code directement, mais ils peuvent toujours accéder aux méthodes et les appeler par réflexion. Cela étant dit, vous devez probablement garder à l'esprit qu'à moins que vos assemblées ne puissent prédire le cours des actions de demain, le risque que quelqu'un les utilise réellement sans votre permission peut ne pas être aussi important que vous le pensez. Il y a beaucoup de bibliothèques gratuites, alors pourquoi quelqu'un aurait-il la peine d'utiliser vos assemblées si elles peuvent obtenir quelque chose de similaire gratuitement?

Questions connexes