我们最近接管了一家外包公司的项目。这个项目使用Moles和Pex进行单元测试,但由于我们没有长时间的项目,我对框架并不是很熟悉。VS 2010项目参考寻找不正确的版本
这就是说,我们正在忙于升级这个项目,运行在.Net 4.我已经解决了跳出来的大部分问题,但有一个我无法得到处理。因为错误的一些单元测试都无法编译:
Could not load file or assembly 'Example.Assembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
,导流我的是它是一个项目引用和组件被复制到单元测试的输出目录中的一部分。大多数其他项目参考被发现,我不能发现那些工作和没有工作之间的任何区别。我不确定这个问题是否与pex /痣框架有关,但我想我会提及它。
我已经尝试过去除和添加所有参考和再生痣组件的通常情况。
有没有其他人遇到这个问题?任何帮助将不胜感激。
EDIT1:好了,经过一番详细的调查生成输出,它看起来好像是没有痣,但不正确生成.accessor文件。我得到的问题与Unit test project cannot find assembly under test (or dependencies)中的问题完全相同,但与他的问题不同,在删除访问者后,我的问题不会消失。
EDIT2:原来是一个名为Publicize.exe的程序,该程序因该错误而失败。仍然不知道为什么。查看Fusion日志看起来好像不会在dll的工作目录下搜索它试图为其生成访问者的目录。在我们的解决方案的一堆程序集上手动运行它,我发现它适用于某些组件,但不适用于其他组件。尽管如此,我还是无法确定那些工作和没有工作的人之间的区别。
谢谢
看来,这是一个堕落的私人访问者一代,而不是痣。由于这是基本被弃用的软件,我已经禁用了使用它的测试。将在稍后阶段通过不访问私有变量来重新实现它们。 – knersis
这是一个好主意。当我遇到他们时,我正在将项目转换为当前的技术。 –