我的单元测试没有在我的 TFS 构建机器上运行,尽管它们在我的开发机器上运行,但我面临着一个问题。
我在以下行中遇到异常,尝试为特定接口(interface)加载所有已加载的程序集:
var classesToMap = AppDomain.CurrentDomain.GetAssemblies().ToList()
.SelectMany(s => s.GetTypes())
.Where(p => typeof(IInterface).IsAssignableFrom(p) && p.IsClass).ToList();
异常(exception)是:
知道为什么吗?
最佳答案
通过添加一个条件来丢弃 GAC 中的所有 dll 来解决这个问题:
var classesToMap = AppDomain.CurrentDomain.GetAssemblies()
.Where(a => !a.GlobalAssemblyCache)
.SelectMany(s => s.GetTypes())
.Where(p => typeof(IInterface).IsAssignableFrom(p) && p.IsClass).ToList();
这是一种解决方法,但对我有用。
谢谢你的提示。
关于testing - 由于 AppDomain.CurrentDomain,TFS 构建机器中的单元测试失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11991496/