代码之家  ›  专栏  ›  技术社区  ›  Seth Petry-Johnson

当程序集位于GAC中时,Visual Studio单元测试引发MissingMethodException?

  •  0
  • Seth Petry-Johnson  · 技术社区  · 16 年前

    我试过以下几件事:

    • 删除并重新添加测试项目中的FooCore程序集引用=失败
    • 确保在properties=failure中将FooCore设置为“Copy Local”

    如何确保VST从其显式定义的位置而不是从GAC加载引用的程序集?

    2 回复  |  直到 8 年前
        1
  •  1
  •   Seth Petry-Johnson    16 年前

    this forum thread on this issue ,其中有人认为这可能是由于VS2008的性能分析功能保留了旧版本的程序集造成的。

    我能够通过以下方式解决我的问题:

    1. 那么,重建我的解决方案
    2. 然后刷新GAC中的所有内容
    3. 在我的测试项目中删除并重新添加程序集引用,然后
    4. 关闭并重新打开Visual Studio 2008

    我不确定这些步骤中哪些是明确必要的,但这种“厨房水槽”方法为我解决了这个问题。

    更新: This Microsoft article 说明在编译解决方案时,GAC中找到的程序集永远不会复制到output bin\文件夹,即使“Copy Local”设置为true。

        2
  •  0
  •   Baranovskiy Dmitry    9 年前

    测试项目被引用到第一个程序集,而UnitTest项目被引用到第二个程序集(它们完全相同)。

    所以仔细检查所有的项目参考资料。