1

C#には、同じソリューション内の別のアセンブリ(AssemblyB)から内部が見えるアセンブリ(AssemblyA)があります。これは、

[assembly: InternalsVisibleTo(AssemblyB, PublicKey=1234566.......)]

ただし、AssemblyAはインストーラーにパッケージ化されていますが、AssemblyBは、お客様にアクセスさせたくない内部ライブラリのままです。アセンブリAを正しくロードするには、アセンブリBが存在する必要がありますか?現在、アセンブリまたはその依存関係の1つが見つからなかったことを示すFileNotFoundExceptionが発生していますが、これが当てはまるかどうか疑問に思っています。

これが実際に当てはまる場合、アセンブリBが存在しない状態でモジュールをロードする方法はありますか?

4

1 に答える 1

1

AssemblyA が持っているという事実は、AssemblyA がInternalsVisibleTo(AssemblyB)AssemblyB に依存している、または読み込むためにランタイムが必要であることを意味するものではありません。

AssemblyA を読み込もうとしている場合FileNotFoundException、それは別の理由によるものです。

例外のスタック トレースを投稿し、何をしているのかを示すコードを追加すると、誰かが例外を解決するのに役立つ可能性があります。

さらに、.NET に付属する Fusion Log Viewer ( ) などのツールを使用して、fuslgvw.exe.NET アセンブリ バインドの失敗を表示し、欠落している .dll と存在するはずだった場所を正確に把握できます。

于 2012-11-26T21:17:16.873 に答える