【问题标题】:"Could not load file or assembly or one of its dependencies. Access is denied."“无法加载文件或程序集或其依赖项之一。访问被拒绝。”
【发布时间】:2009-06-04 15:25:29
【问题描述】:

我正在尝试调试以下异常:-

System.IO.FileLoadException:不能 加载文件或程序集'My.Assembly, 版本=1.0.0.0,文化=中性, PublicKeyToken=........' 或其之一 依赖关系。访问被拒绝。

代码在 COM 服务中被模拟,但程序集存在于应用程序目录中,并且被模拟的用户对其具有读取权限。 Fusion 没有为程序集记录任何内容,procmon 根本没有提及文件或任何 ACCESS DENIED 事件。除了对 DLL 本身的权限之外,还有其他原因导致程序集加载可能会像上面那样失败吗?

(顺便说一下,这不是 Web 应用程序。)

【问题讨论】:

  • 这是一个“点击一次”的应用程序吗?
  • 文件上有写锁吗?
  • 不是点击一次。另一个应用程序有一个作为加载程序集的句柄,所以我猜这是只读的。

标签: .net


【解决方案1】:

确保您可以访问程序集及其所需的所有程序集。

另一个问题是,如果它正在寻找的程序集假定它在 GAC 中,那么它可能无法找到它。如果是这种情况,您通常可以通过将程序集复制到需要它的进程所在的位置来解决它。

【讨论】:

    【解决方案2】:

    如果您使用的是Visual Studio 2012,请关闭 VisualStudio 并重新打开它。可能这是一个糟糕的解决方案,但它对我有用。

    【讨论】:

      猜你喜欢
      • 2019-04-22
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 2020-02-11
      • 2021-12-12
      相关资源
      最近更新 更多