2013-02-09 37 views
1

从VS2010迁移的单元测试项目仍使用自动生成的私有属性访问器。为什么Shadow Task没有找到引用的DLL?

经过许多小时的编码和测试后,包含类库项目,类库项目的单元测试项目和Web项目的解决方案突然出现错误。该Web项目在IIS Express下执行。

错误24无法加载文件或程序集'The.ClassLibrary,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。该系统找不到指定的文件。 The.ClassLibrary.Tests

事实

  • The.ClassLibrary.Tests有一个项目引用The.ClassLibrary。
  • 没有其他生成错误(检查生成的输出不只是错误窗口)
  • 的DLL是实际存在的,在bin\debug
  • 当前时间戳我重新启动IIS快递
  • 我重新启动Visual Studio的
  • 清理/重建溶液

回答

0

选项A

解决此问题。它可能会再次发生。

除了尝试的步骤之外,还有必要在磁盘上搜索并删除所有次出现的The.ClassLibrary.Dll。因此,完整的程序是:

  • 停止IIS快递
  • 退出的Visual Studio 2012
  • 搜索并删除“失踪” DLL的所有实例。
  • 启动Visual Studio 2012

我希望这可以帮助别人。

选项B

修复正常

私人存取在VS2012贬值的问题。相反,使私有事情需要单元测试内部而不是可见的,并且使用正在测试的项目的AssemblyInfo.cs中的InternalsVisibleTo属性来允许测试项目访问测试主题的内部属性,方法和字段。

AssemblyInfo。cs(MyProject的)

[assembly: InternalsVisibleTo("MyNs.MyProject.Tests")] 
相关问题