调试程序集加载问题

时间:2009-04-07 08:52:58

标签: c# .net visual-studio mstest fileloadexception

我在单元测试期间遇到了一个非常奇怪的问题(Visual Studio中的MSTest - .NET 3.5 SP1):

  1. 点击“在解决方案中运行所有测试”
  2. 对于一个特定的类,所有测试都通过,其中每个测试都会抛出以下异常:“System.IO.FileLoadException:加载此程序集将从其他实例生成不同的授权集。(例外情况)来自HRESULT:0x80131401)。“
  3. 然后我在课堂上设置一个断点。结果:类中的所有测试都通过(之前失败的相同测试)。
  4. 点击“在解决方案中运行所有测试”。除另一个类外,所有测试都通过。
  5. 我在课堂上设置断点。结果:类中的所有测试都通过
  6. 点击“在解决方案中运行所有测试”。除了第一个测试类外,所有测试都通过。
  7. 正如您所看到的,问题非常不一致,难以调试。

    我尝试过使用Fusion Log Viewer,但这让我感到困惑,我不太明白。

    我应该寻找什么?还有其他人遇到过这个问题吗?

    更新 要求提供一些其他信息。

    测试运行好几个月 - 我认为上次运行它们是星期四,然后它们运行良好。我一直试图检查源代码控制历史,看看是否有变化,但没有任何异常。

    我可以追溯并在不同的日子检查项目,但我们使用的是Visual Source Safe(我知道 - 不是我的descission :-()所以我对此犹豫不决。

    测试是常规的单元测试,我正在使用Moq用于模拟对象......但正如我所说 - 它直到最近一直运行良好。

    我只是希望就如何调试此问题提出一些建议。

3 个答案:

答案 0 :(得分:2)

我们也遇到过这个问题,虽然它只发生在我们的构建服务器上(我们安装了VS2008以便在MSBuild中使用MSTest),而不是在本地。我们在构建服务器上的VS2008版本中安装了this hotfix,这消除了这个问题。

答案 1 :(得分:1)

显然这是一个错误。毫无疑问,你已经找到了这个,但为了以防万一,这里有一个链接。

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=95157

希望它有所帮助。

答案 2 :(得分:0)

此处描述的问题仅出现在我的机器上。我尝试清除我的VS2008设置,禁用所有加载项并在另一个位置检查项目,但都没有工作。现在我认为重新格式化机器之前的最后一个可能的解决方案是重新安装VS2008,我现在没有时间,所以我现在必须忍受这个问题。