【问题标题】:The system cannot find the file specified exception系统找不到文件指定异常
【发布时间】:2014-08-22 07:32:07
【问题描述】:

我在我的 API 项目中使用 System.Threading.Tasks.Dataflow.dll。我已经从 GAC 添加了对这个 dll 的引用,但是当我运行我的单元测试时,我仍然收到 file not found 异常。异常消息是:

测试错误TestError 363 测试方法TestProject.UnitTest1.SendMessage 抛出异常: System.ComponentModel.Composition.CompositionException: 的 合成产生了一个单一的合成错误。根本原因是 下面提供。查看 CompositionException.Errors 属性 更详细的信息。

1) 无法加载文件或程序集“System.Threading.Tasks.Dataflow, 版本=0.0.4303.21337,文化=中性, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。这 系统找不到指定的文件。

导致:尝试创建实例时发生异常 'SomeObject' 类型。

我不明白为什么它没有从 GAC 加载 dll?

【问题讨论】:

  • 您究竟是如何将该 DLL 添加到 GAC 的?你是如何引用它的?

标签: c# dll task-parallel-library .net-assembly gac


【解决方案1】:

因为在 de GAC 中可能存在具有该名称的程序集,但版本、文化、处理器架构和/或公钥令牌不同。程序集的标识由所有这些项组成,而不仅仅是程序集的名称。

【讨论】:

  • 没有其他同名程序集。我已经在整个 windows 文件夹中搜索了它
  • 好的,但是您找到的程序集是否具有错误消息中提到的确切版本、文化和公钥标记?使用 gacutil 之类的工具来检查
  • 它与我引用的程序集完全相同
  • 那么你的单元测试运行器可能不是.Net 4.0。尝试查看融合日志以了解更多信息:msdn.microsoft.com/en-us/library/e74a18c4(v=vs.110).aspx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 2019-02-24
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多