2

アセンブリをロードした後Assembly.Load(byte[] rawAssembly, byte[] rawSymbolStore)、作成されたアセンブリ インスタンスから rawSymbolStore データを取得することは可能ですか? 呼び出しはこのメソッドに転送されますが、それが何をするのかわかりません..

[MethodImpl(MethodImplOptions.InternalCall)]
internal static RuntimeAssembly nLoadImage(byte[] rawAssembly, byte[] rawSymbolStore, Evidence evidence, ref StackCrawlMark stackMark, bool fIntrospection, SecurityContextSource securityContextSource);

私がやりたいことは、Assembly インスタンスを 2 バイト配列にシリアル化し、それらをリモート マシンに送信してそこに読み込ませることです。

4

1 に答える 1

1

作成された Assembly インスタンスから rawSymbolStore データを取得することは可能ですか?

いいえ。アセンブリの .pdb ファイルは、ディスク上の個別のファイルです。アセンブリのデバッグ シンボルが含まれており、通常はプロジェクトのビルド ディレクトリにあります。.pdb ファイルを .dll と共に展開できますが、これはオプションです。例外スタック トレースでファイル + 行番号情報を表示するためにのみ使用されます。

必要な byte[] を取得するには、File.ReadAllBytes() などの呼び出しを使用する必要があります。Assembly.Location プロパティは、アセンブリの .pdb ファイルを見つけるのに役立ちます。デプロイしない場合、または ReadAllBytes が失敗した場合は、2 番目の引数に null を渡します。

于 2013-01-30T08:02:25.140 に答える