次のコードが与えられます:
var n1 = new AssemblyName ("TestDll, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089");
var n2 = new AssemblyName ("TestDll, Version=2.0.0.2001, Culture=en-US, PublicKeyToken=ab7a5c561934e089");
Console.WriteLine (AssemblyName.ReferenceMatchesDefinition (n1, n2));
Console.WriteLine (AssemblyName.ReferenceMatchesDefinition (n2, n1));
これらのチェックの両方が「True」を出力するのはなぜですか?AssemblyName.ReferenceMatchesDefinitionは、アセンブリ名のバージョン、カルチャ、および公開鍵トークン属性の違いを考慮する必要があると思いましたね。
そうでない場合、ReferenceMatchesDefinitionは、単純な名前の比較ではできないことを何をしますか?