我的单元测试没有在我的 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/

10-13 07:48