アセンブリがあります (これは DLL です)。それがプライベートかパブリックかを知りたいですか?? どうすればそれを行うことができますか、それを行うプログラムが存在しますか? またはVisual Studioが教えてくれますか?ありがとう
3 に答える
プライベート アセンブリの分離アプリケーションの概念について言及していると思います。この場合、アセンブリにはマニフェスト (基本的にそのバージョンを示す) が必要であり、一部のローカル フォルダーまたはサイド バイ サイド キャッシュ (SxS フォルダー) にある可能性があります。マニフェストを検出することは、dll が非公開であることを示す合理的な指標になります (ただし、これは 100% のテストではないと思いますが、ニーズには十分である可能性があります)。
プライベート アセンブリの概念は、アプリケーションのプライベート ビン パス上の任意のフォルダーに dll を配置するだけで十分であるという意味で、.Net とはあまり関係がありません。このコンテキストでは、アセンブリについて特別なことは何もありません。
GAC の概念があり、大まかに言えば、アンマネージド dll の SxS キャッシュに似ています。そこにあるアセンブリはより簡単にアクセスできますが、クラス、メソッド、メンバーに適用されるパブリック/プライベートの概念はアセンブリにはまったく適用されません。
最後に、' friend ' アセンブリの概念について考えているかもしれません (そうではないと思いますが) 。これは、アセンブリ レベルでInternalsVisibleTo属性を介して、または型レベルでStrongNameIdentityPermissionを介して行うことができます。
残念ながら、これを理解する良い方法はないと思います。私が知っている最善の方法は、Reflectorを使用してアセンブリの逆コンパイル バージョンを表示することです。
お役に立てば幸いです、イアン
アセンブリがプライベートまたはパブリックであるとはどういう意味ですか? たぶん、機能がプライベートまたはパブリックということですか?
しかし、 Reflectorを試すことができると思います。