1

アセンブリがあります (これは DLL です)。それがプライベートかパブリックかを知りたいですか?? どうすればそれを行うことができますか、それを行うプログラムが存在しますか? またはVisual Studioが教えてくれますか?ありがとう

4

3 に答える 3

3

プライベート アセンブリの分離アプリケーションの概念について言及していると思います。この場合、アセンブリにはマニフェスト (基本的にそのバージョンを示す) が必要であり、一部のローカル フォルダーまたはサイド バイ サイド キャッシュ (SxS フォルダー) にある可能性があります。マニフェストを検出することは、dll が非公開であることを示す合理的な指標になります (ただし、これは 100% のテストではないと思いますが、ニーズには十分である可能性があります)。

プライベート アセンブリの概念は、アプリケーションのプライベート ビン パス上の任意のフォルダーに dll を配置するだけで十分であるという意味で、.Net とはあまり関係がありません。このコンテキストでは、アセンブリについて特別なことは何もありません。

GAC の概念があり、大まかに言えば、アンマネージド dll の SxS キャッシュに似ています。そこにあるアセンブリはより簡単にアクセスできますが、クラス、メソッド、メンバーに適用されるパブリック/プライベートの概念はアセンブリにはまったく適用されません。

最後に、' friend ' アセンブリの概念について考えているかもしれません (そうではないと思いますが) 。これは、アセンブリ レベルでInternalsVisibleTo属性を介して、または型レベルでStrongNameIdentityPermissionを介して行うことができます。

于 2009-02-15T13:24:34.093 に答える
0

残念ながら、これを理解する良い方法はないと思います。私が知っている最善の方法は、Reflectorを使用してアセンブリの逆コンパイル バージョンを表示することです。

お役に立てば幸いです、イアン

于 2009-02-15T08:59:55.370 に答える
0

アセンブリがプライベートまたはパブリックであるとはどういう意味ですか? たぶん、機能がプライベートまたはパブリックということですか?

しかし、 Reflectorを試すことができると思います。

于 2009-02-15T09:00:33.340 に答える