0

.dll ファイルへの参照を追加すると、コンパイルされたプロジェクトの出力はどのように変化しますか?

(参照を追加して再構築したと想像してください。)

4

2 に答える 2

2

マニフェストは.dllファイルへの参照を記録します。使用されていない場合、コンパイラはコンパイルされたマニフェストで参照を削除します。したがって、この場合、影響はありません。

既存の (変更されていない) コードにより適した拡張メソッドをこのライブラリで定義した場合、これはこのライブラリの使用を構成し、拡張メソッドが使用されます。

これが .NET アセンブリではなく、com/com+ dll である場合、ラッパーも生成されます。

コンパイルされたアセンブリの MSIL 部分に関しては、他に何も変更する必要はありません。

于 2011-09-19T10:34:52.110 に答える
2

それが単なる参照である場合(およびdllがアセンブリであると仮定)-何もありません。未使用の参照はコンパイラによって静かに削除され、シナリオでは、アセンブリを使用するコード (つまり、新しい dll の型を使用するコード) を追加しませんでした。ここでは、既存の拡張メソッドの使用により適した拡張メソッドが新しい dll (既に使用されていた名前空間内) に存在しないことを少し仮定しています。

Copy Local = True への参照をマークした場合、出力ディレクトリに追加の dll が取得されます (ただし、内部的にアセンブリは正式にそれを参照しません。コードがアセンブリに触れていない場合、その参照は削除されます) .

于 2011-09-19T10:35:10.613 に答える