鉴于以下代码:
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 做了哪些简单名称的比较没有做到的事情?
最佳答案
我已经在 Microsoft Connect 上报告了这个问题,并且已经确认了一个错误:
关于c# - AssemblyName.ReferenceMatchesDefinition 如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2494421/