Pergunta

Eu tenho um assembly (é um DLL) Eu quero saber se é privado ou público ?? Como posso fazer isso, existe um programa para fazer isso? ou Visual Studio posso dizer? Graças

Foi útil?

Solução

Eu suponho que você está se referindo a isolados Applications Conceito de Assembléias privados . Neste caso, a montagem requer um manifesto (essencialmente indicando sua versão) e pode estar em alguma pasta local ou no Side by Side de cache (a pasta SxS). Detectando o manifesto seria uma indicação razoável a dll é privado (embora eu acho que isso não é um teste de 100%, pode ser suficiente para as suas necessidades)

O conceito de conjuntos privados não é realmente relevante para .Net no sentido de que basta colocar uma dll em alguma pasta arbitrária na de Aplicação caminho bin privado é suficiente, não há nada de especial sobre a montagem neste contexto.

Não é o conceito do GAC, a grosso modo semelhante ao cache SxS para DLLs não gerenciados. Qualquer montagem em que haverá mais facilmente acessíveis, mas os conceitos / público-privadas aplicáveis ??a classes, métodos, membros de modo algum é aplicável às assembleias.

Como nota final pode (embora eu não acredito que você é) estar pensando no ' amigo ' conceito de montagem. Isto pode ser feito através do atributo InternalsVisibleTo ao nível da montagem ou através StrongNameIdentityPermission em o nível do tipo.

Outras dicas

Infelizmente eu não acho que há um boa maneira de descobrir isso. A melhor maneira que eu conheço é usar refletor para ver uma versão descompilado do montagem.

Espero que ajude, Ian

O que quer dizer um assembly é privada ou pública? Talvez você quer dizer função é privado ou público?

Mas eu acho que você pode tentar refletor .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top