使用Assembly.Load(byte [],byte [])加载dll Visual Studio 2013和2015之间的不同行为

时间:2015-08-18 08:47:06

标签: c# visual-studio .net-assembly assembly-resolution

当我开始使用VS2015 RTM时,我虽然离开了VS2013。然而,我注意到一个非常奇怪的事情可能是设置问题或只是一个错误。

我已经实现了自己的NUnit testrunner,可以为应用程序(称为Revit)测试插件(类库)。这位测试人员在Revit中作为自己的插件。 它反过来使用Assembly.Load(byte [],byte [])加载测试程序集,让我运行测试。现在在VS2013中,我可以调试我的测试类,但是使用完全相同的dll(对于testrunner,测试和测试的dll)但是使用VS2015进行调试我无法调试测试。 VS2015认为它的外部代码只是跳过它。 使用VS2013和VS2015,我可以看到pdbs正确加载。

有没有人见过这样的东西? VS2015中是否有设置阻止我调试测试或任何其他设置?如果我检查堆栈跟踪,我可以看到VS在调用我的testmethod时认为它调用了外部代码。

提前致谢!

1 个答案:

答案 0 :(得分:3)

好的,我解决了!

VS的调试设置中托管兼容模式的默认值已关闭(自然)。 打开这个就行了!