C# Assembly.GetTypes()错误行为

C# Assembly.GetTypes()错误行为,c#,reflection,types,C#,Reflection,Types,我在一个为excel开发外接程序的团队中。我的设置是VS 2015 Enterprise全面更新的。我的同事设置的VS 2013 Premium已完全更新。我们正在进行的项目设置为使用.NET4.5 代码中有一点是调用并迭代GetTypes(),这就是事情变得奇怪的地方。我的枚举返回198个类型。我的同事们回来了大约130次。更重要的是,类型的枚举顺序完全不同(比如我的是随机顺序,而他们的是排序的或其他) 关键是,这发生在代码的一个非常关键的部分,并且正在破坏我的加载项。。。你看,根据枚举,为我

我在一个为excel开发外接程序的团队中。我的设置是VS 2015 Enterprise全面更新的。我的同事设置的VS 2013 Premium已完全更新。我们正在进行的项目设置为使用.NET4.5

代码中有一点是调用并迭代
GetTypes()
,这就是事情变得奇怪的地方。我的枚举返回198个类型。我的同事们回来了大约130次。更重要的是,类型的枚举顺序完全不同(比如我的是随机顺序,而他们的是排序的或其他)

关键是,这发生在代码的一个非常关键的部分,并且正在破坏我的加载项。。。你看,根据枚举,为我加载了错误的类,我不愿意修改这段代码,因为我是团队中的新成员,外接程序没有单元测试,并且有很多功能


有人愿意解释为什么返回的类型数不同(198对130左右)以及为什么数组的顺序不同?

在我们真正对其进行说明之前,您必须向我们展示有问题的代码。+1对前面的评论员说,以及这一点:必须是关于返回的私有类型的信息。关于顺序:试着在这两种情况下自己排序,比如按类型名称和\或它们的泛型。还有:你在调用什么程序集?第三方,一个是你自己编译的还是你同事编译的?@BradleyUffner代码其实没有什么特别之处!加载给定的程序集,然后
var mary=loadedAssembly.GetTypes()
@NineBerry我在自己的程序集上调用它。。。这里的第三部分是国际奥委会(Ninject)。。。编译是在本地完成的。。。