2009-02-15 2 views
1

У меня есть сборка (это DLL). Я хочу знать, является ли она частной или общедоступной? Как я могу это сделать, существует ли программа для этого? или Visual Studio может рассказать вам? СпасибоКак узнать, является ли сборка частной или общедоступной

+0

Можете ли вы рассказать о том, что это означает, что частная ассамблея против публичной сборки? – shahkalpesh

+0

Как я знаю, частная сборка может быть доступна только из той же папки, что и приложение. Общедоступные могут быть доступны всеми exe на машине ... –

+0

Вы имеете в виду, что сборки в GAC являются общедоступными сборками? – shahkalpesh

ответ

3

Предполагаю, вы имеете в виду Isolated Applications Concept of Private Assemblies. В этом случае сборка требует манифеста (по существу, указывает его версию) и может находиться в локальной папке или в кеше Side by Side (папка SxS). Обнаружение манифеста было бы разумным показателем того, что dll является частной (хотя я думаю, что это не 100% -ый тест, которого может быть достаточно для ваших нужд)

Концепция частных сборок на самом деле не имеет отношения к .Net в что просто размещение DLL в какой-либо произвольной папке на private bin path приложения достаточно, в этом контексте нет ничего особенного в сборке.

Существует концепция GAC, примерно говорящая о кеше SxS для неуправляемых библиотек DLL. Любая сборка там будет больше доступной, но общедоступные/частные концепции, применимые к классам, методам, членам, никоим образом не применимы к сборкам.

В качестве заключительной заметки вы можете (хотя я и не верю вам) думать о концепции сборки «friend». Это можно сделать с помощью атрибута InternalsVisibleTo на уровне сборки или до StrongNameIdentityPermission на уровне типа.

0

К сожалению, я не думаю, что есть good способ понять это. Лучший способ, которым я знаю, - использовать Reflector для просмотра декомпилированной версии сборки.

Надежда, что помогает, Ян

+0

спасибо за ссылку Я попробую программу –

0

Что вы имеете в виду собрание является частным или государственным? Может быть, вы имеете в виду, что функция является частной или публичной?

Но я думаю, вы можете попробовать Reflector.

+0

да и даже сборки могут быть частными или общедоступными –

Смежные вопросы