2009-02-15 10 views
1

J'ai un assemblage (c'est une DLL) Je veux savoir s'il est privé ou public ?? Comment puis-je faire cela, il existe un programme pour le faire? ou Visual Studio peut vous dire? MerciComment savoir si un assemblage est privé ou public

+0

Pouvez-vous nous dire ce que cela signifie par assemblée privée par opposition à une assemblée publique? – shahkalpesh

+0

Comme je sais que l'assemblage privé est accessible uniquement à partir du même dossier que l'application. Vous pouvez accéder à tous les fichiers publics sur tous les ordinateurs ... –

+0

Voulez-vous dire que les assemblages dans GAC sont des assemblées publiques? – shahkalpesh

Répondre

3

Je suppose que vous faites référence à Isolated Applications Concept of Private Assemblies. Dans ce cas, l'assembly requiert un manifeste (indiquant essentiellement sa version) et peut se trouver dans un dossier local ou dans le cache Side by Side (le dossier SxS). Détecter le manifeste serait une indication raisonnable que le dll est privé (bien que je pense que ce n'est pas un test à 100%, il peut être suffisant pour vos besoins)

Le concept d'assemblées privées n'est pas vraiment pertinent pour .Net dans le Sachez qu'il suffit de placer une DLL dans un dossier arbitraire sur l'private bin path de l'application, il n'y a rien de spécial à propos de l'assembly dans ce contexte.

Il existe le concept du GAC, qui ressemble grosso modo au cache SxS pour les DLL non managées. Tout assemblage y sera plus facilement accessible mais les concepts public/privé applicables aux classes, méthodes, membres ne sont en aucun cas applicables aux assemblages. En guise de note finale, vous pouvez (même si je ne crois pas que vous le pensez) penser au concept d'assemblage 'friend'. Cela peut être effectué via l'attribut InternalsVisibleTo au niveau de l'assemblage ou via StrongNameIdentityPermission au niveau du type.

0

Malheureusement, je ne pense pas qu'il existe un bon pour le comprendre. Le meilleur moyen que je connaisse est d'utiliser Reflector pour voir une version décompilée de l'assemblage.

espoir qui aide, Ian

+0

merci pour le lien je vais essayer le programme –

0

Que voulez-vous dire un assemblage privé ou public? Peut-être que vous voulez dire que la fonction est privée ou publique? Mais je pense que vous pouvez essayer Reflector.

+0

oui et même les assemblées peuvent être privées ou publiques –

Questions connexes