ILMerge は何をしますか?
単一の新しいアセンブリを作成しますか、それとも複数のアセンブリを 1 つの dll に入れるだけですか?
以下の観点から質問します。
InternalsVisibleTo
相互に属性を持つアセンブリをマージするとどうなりますか?- 完全修飾アセンブリ名の文字列からリフレクションを行っているとどうなりますか
ありがとう
アセンブリをマージすることと、すべてを 1 つのファイルに入れることの間に、どのような違いを描こうとしているのかわかりません。ただし、一連の .Net アセンブリを取得し、すべてのアセンブリの結合されたコンテンツを含む単一のアセンブリを生成します。
これは、InternalsVisibleTo
マージされるアセンブリの属性には影響しません。この属性はinternal
、アセンブリ間のコンストラクトへのアクセスを許可するためにランタイムによって使用されます (それ以外の場合は不正です)。internal
それらはすべて 1 つのアセンブリに含まれているため、 を使用せずに互いの型に自由にアクセスできますInternalsVisibleTo
。つまりinternal
、マージ前に有効だったアクセスは、マージ後も有効になります。
リフレクションと完全修飾アセンブリ名の意味がわかりません。しかし、私が考えることができる2つのケースがあるようです